降低变异测试代价方法的研究-计算机应用专业论文.docxVIP

降低变异测试代价方法的研究-计算机应用专业论文.docx

  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文档。上传文档
查看更多
摘 摘 要 摘 要 随着信息时代的到来,软件逐渐渗透到社会的各个领域,给人类社会带来了 诸多好处,但同时,软件质量问题也给人类社会造成了巨大的危害。软件产品的 质量牵动着社会的命脉,如何开发出高质量的软件是软件行业急需解决的问题。 软件测试是保证软件质量的重要手段,贯穿于整个软件开发生命周期。测试 的直接目的是在软件投入使用之前,尽可能的发掘软件中可能存在的错误与缺 陷,并加以纠正,从而保证软件的质量和性能。 变异测试是一种基于错误的软件测试技术,能够系统的模拟软件中的各种缺 陷,并在测试过程中构造能够揭示这些错误的数据集。变异测试一方面可以构造 完备的测试数据集用来揭示软件缺陷,另一方面,又可以作为衡量测试数据集充 分度的准则,评估测试的充分性。 但是,变异测试的高代价严重阻碍了它的广泛应用,本文从导致高代价的两 个原因——庞大的测试用例数目,庞大的变异体及等价变异体数目出发,对降低 变异测试的代价问题进行了研究。 测试用例的优化是降低变异测试代价的一个重要手段。已有优化算法的评估 多以代码覆盖为基础,这并不能完全反应程序的错误状况,因为高代码覆盖率的 测试用例并不一定具有高的揭示错误的能力。因此,本文结合变异测试,从新的 角度——错误覆盖出发,对几种搜索算法,包括两种贪心算法(基本贪心算法、 额外贪心算法)、一种启发式算法(爬山算法)、及遗传算法的优化效果进行了评 估。实验证明,额外贪心算法的优化效果最优,该实验结果的置信度更高。 变异体的约简是降低变异测试代价的又一重要手段。本文提出基于遗传算法 聚类的变异体约简方法,通过把具有相似特征的变异体置于同一簇中,再从每个 簇中随机选择一个作为代表,从而实现变异体的约简。实验表明:(1)该方法可 在不降低构造出的测试用例集的测试充分度的前提下,约简变异体;(2)与 K-means 算法、凝聚型层次聚类算法相比,该方法能够在自适应产生合适的聚类 数目的同时,具有更好的约简效果。 关键词:软件测试 变异测试 测试用例优化 变异体约简 搜索算法 遗传算法 聚类技术 I Abstract Abstract ABSTRACT With the coming of information age, software gradually penetrated into all spheres of society. It has brought many benefits to human society, but the problems of software quality caused it great harm at the same time. Software quality is the lifeline of our society. How to develop high-quality software is a problem to be solved in software industry. Software testing is an important method to ensure software quality throughout the entire life cycle of software. The direct purpose of software testing is to find errors and defects possible existing in software, and then modify them before using to ensure the quality and performance of it. Mutation Testing is a fault-based software testing technique. It can systematically simulate all kinds of software faults and construct a complete set of test cases in the processing of testing. On one hand, it can detect software deficiencies, on the other hand, it can be used to measure the test cases’ ability of detecting errors and assess the adequacy of testing. However, the high cost of Mutation Testing is a serious impediment to its wide applicat

您可能关注的文档

文档评论(0)

131****9843 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档