首页> 中文学位 >基于相似性的回归测试用例约简与优先排序方法研究
【6h】

基于相似性的回归测试用例约简与优先排序方法研究

代理获取

目录

封面

声明

中文摘要

英文摘要

目录

1 绪论

1.1 研究背景

1.2 国内外研究现状

1.3 存在的问题

1.4 研究内容

1.5 论文组织结构

2 聚类分析函数调用序列的测试用例约简方法

2.1 背景知识

2.2 基于k-means聚类分析测试用例的约简方法

2.3 实验设计

2.4 实验结果与分析

2.5 本章小结

3 基于多剖面相似性的回归测试用例约简方法

3.1 函数执行序列与函数调用树

3.2 实验设计

3.3 实验结果与分析

3.4 本章小结

4 基于全局相似性的回归测试用例优先排序算法

4.1 引言

4.2 基于相似性的回归测试用例优先排序方法

4.3 实验设计

4.4 实验结果与分析

4.5 本章小结

5 总结与展望

5.1 主要工作总结

5.2 研究展望

致谢

参考文献

附录1 攻读博士学位期间发表的学术论文目录

附录2 攻读博士学位期间参与的科研课题

展开▼

摘要

在软件演化与维护过程中,软件的频繁变更是一个永恒的话题。修改错误、增加新的功能或者适应新的运行环境等因素都将引起软件的变更。软件一旦发生变化,就需要回归测试修改的代码、新增加的代码以及潜在地受变更影响的代码。研究表明,回归测试占了总测试预算的80%,软件维护阶段总费用的50%。尽管回归测试的代价如此之高,但它却是不可或缺的测试。随着软件持续演化,测试套件的规模也不断增加。由于测试资源的有限性,重新运行所有测试用例的方法是不可行的。在这种背景下,如何选择高效的测试用例子集以便较早地发现更多的错误具有重要的实际意义。聚类分析的方法被引入到回归测试领域中。根据运行测试用例产生的剖面信息,将测试用例分成若干簇,使得同一簇中的对象彼此相似,而与其他簇中的对象相异。同一簇中的对象具有相同的剖面信息,因而具有相同的错误发现能力。通过动态插桩技术收集运行测试用例产生的剖面信息,比如函数的覆盖信息,函数调用的时序信息、函数调用的关系信息以及函数调用的结构信息等。并构建四种不同类型的剖面结构,包括函数覆盖向量、函数调用序列、函数执行序列与函数调用树。
  本研究从运行代价和错误发现效率两个方面比较四种不同类型的结构化剖面对回归测试效率的影响。实验结果表明,函数调用的时序信息、调用关系以及结构信息有助于进一步提高约简测试套件的错误发现能力。就成本-效益而言,聚类分析函数调用序列的方法是更高效的。该方法不仅提高了回归测试的错误发现效率,也进一步丰富并发展了回归测试用例约简与选择研究。在回归测试中,尽早地执行那些能够发现错误的回归测试用例,就能尽快的进行错误的定位与修复工作,从而提高整个回归测试的效率。因此,回归测试用例的执行顺序对错误发现效率有重要的影响。如何对原始套件中的测试用例进行优先排序成为当前的研究重点。基于测试用例的相似性可以有效地对回归测试用例进行优先级排序。该方法不仅确保了回归测试用例的多样性,同时也可以提高错误检测效率。不同的相似性度量代表不同的含义,如何选取高效的度量也是至关重要的。为此,实验从错误发现效率及其稳定性两个方面对比分析了6个相似性度量。实验结果表明,基于全局相似性的回归测试用例优先排序算法与Euclidean距离度量这一方法组合具有较强的错误发现能力,同时产生的结果也更加稳定可靠。该研究为选择高效的基于相似性的回归测试用例优先排序算法与距离函数提供了实践指导。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号