软件缺陷预测技术剖析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件缺陷预测技术剖析

软件缺陷预测技术剖析   摘 要 计算机技术的高速发展,使软件得到应用变的更加广泛,与此同时软件也变得更复杂,其逻辑性也变得更强。在应用过程中,计算机软件中将会存在未被测试出的风险,从而对软件的质量产生影响。对软件缺陷技术进行分析,可以对系统中缺陷的分布和数目进行统计,从而帮助测试人员客观的对软件的可靠性进行评价,提高软件的可靠性。   关键词 软件缺陷;预测技术;缺陷模型   中图分类号TP39 文献标识码 A 文章编号 1674-6708(2015)130-0132-02   软件测试研究人员花费了大量的进来对软件缺陷预测技术进行了分析。在软件测试中,精准的判断预测软件缺陷的分布,对软件测试工作有着重要作用。在软件测试中对软件缺陷预测技术进行分析的目的就是提高软件测试的可靠性,在工作中节约人力和资金的投入。   1 软件缺陷预测技术   软件缺陷预测技术发展于上个世纪七十年代,软件预测技术从出现至今,一直都是软件工程领域中最重要的内容。这主要是因为,它对软件的质量、开发成本、开发周期都有着影响。软件缺陷预测技术的作用对软件中存在的缺陷进行预测,在预测过程中需要依据软件的开发方法、复杂度等,通过已经发现软件中存在的缺陷对软件中潜在的缺陷进行预测。软件研究人员可以通过软件缺陷预测技术对软件产品的质量进行分析,并对软件最终是否可以提供给客户使用做出准确判断。   软件缺陷预测技术主要分为静态和动态两种。因为,软件缺陷预测技术在理论和实施方法上具有多样性,因此两种技术存在很多分歧,因此在实际工作中针对不同的软件采取不同的方式。   静态缺陷预测技术利用软件复杂度、软件规模这些可以对软件缺陷的进行度量的元素对软件中潜在,但还没有出现的缺陷进行分析。软件研究人员通过静态预测技术对软件产品可能的模式和软件产品质量的进行合理分析,并对软件是否可以给用户使用做出准确判断。   动态缺陷预测技术的研究要在缺陷发生的时间基础上。在对该技术上的研究上,研究人员必须要根据自己的工作经验,对软件应用的整个寿命周期进行研究。采用该技术对利用时间分布统计软件的缺陷情况,寻找软件的缺陷情况。使用该技术不仅可以减低在软件上的修复成本,并可以减低对软件缺陷的修复时间。   2 软件复杂性度量与缺陷预测之间的关系   软件的质量主要通过软件的可维护性、可理解性进行反映。软件外部属性主要包括软件的可靠性、可理解性、可维护性等。在软件测试过程可以对软件的规模、控制流、数据流等属性进行量化。在软件测试过程中对软件的外部属性进行度量,可以获取软件研究人员需要的数据,对软件开发进行指导。然而在软件测试过程中对外部属性只有定性定义,并没有利用数字对其进行明确定义,因此在实际工作中对其进行度量显得十分困难。复杂性度量的目的在于利用软件外部属性度量从而获取外部属性值,是在软件测试中进行缺陷测试的主要模型工具。软件复杂性度量、软件质量、软件缺陷预测三者之间关系如图1所示。   图1 软件复杂性度量、软件质量、软件缺陷预测   三者之间关系   从图1可以看出软件模块在发生错误时可以对软件的可靠性进行直接反应,但却无法直接获取。将软件复杂性度量的度量值当作为整个软件缺陷预测的输入值,获取的整个系统中出现错误的预测值,然后利用预测值对整个软件的质量进行反映。   3 软件缺陷预测原理   进行软件缺陷测试的主要目的在于提高软件研究人员对整个系统有一个宏观认识。区分系统中不同模块在发生错误时的倾向,从而可以合理分配软件修改和测试过程中使用的资源,降低在软件开发过程中的人力和财力上的消耗,提高软件开发效率。软件缺陷测试原理如图2所示。   图2 软件缺陷测试原理   3.1 软件复杂度性度量   在进行软件缺陷测试时,应当对软件早期测试数据和早期版本的相关数据进行收集,并从中对成功的经验进行提取。软件复杂性度量主要包括两部分:度量属性和历史数据。在软件缺陷测试过程将软件复杂性度量作为样本数据 “属性”,在软件测试过程中,可以将样本中得到数据作为样本中的“数值”。这样在实际工作中就可以将复杂性度量数据进行集中,组成样本。在软件测试过程中的“值”的数据类型为布尔型:有出错倾向和无出错倾向。在对软件缺陷预测技术中应用的“属性”来自软件开发中的属性集。   3.2 建立缺陷预测模型   数据集利用“同属一值”的方式对复杂性度量中的样本和复杂性度量是否存在出错倾向之间的非线性管理,简单的说,缺陷预测模型本身属于一种模式识别形式。而在实际工作中建立缺陷预测模型就是利用合理的机器算法进行模型结构的搭建,并对复杂性度量属性之间相互产生的依赖程度进行确定,也就是参数学习和模型学的一个过程。   3.3 利用模型预测结果   在软件缺陷预测模型部分,预测部门和

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档