首页> 中文学位 >基于圈复杂度和调用次数的测试用例排序方法
【6h】

基于圈复杂度和调用次数的测试用例排序方法

代理获取

目录

封面

中文摘要

英文摘要

目录

第1章 绪论

1.1 研究背景

1.2 课题来源

1.3 主要研究内容

1.4 本文的创新点

1.5 章节安排

第2章 测试相关理论概念

2.1 回归测试

2.2 圈复杂度

2.3 测试用例优先级技术

2.4 程序调用图

2.5 本章小结

第3章 基于覆盖的优先级技术

3.1 基于覆盖的影响因素

3.2 基于覆盖的排序原理

3.3 基于覆盖的排序算法

3.4 本章小结

第4章 基于圈复杂度和调用次数排序算法的研究

4.1 排序索引的影响因素

4.2 排序索引的分析及评估

4.3 基于圈复杂度和调用次数的排序算法

4.4 本章小结

第5章 实验与分析

5.1 研究问题

5.2 实验环境

5.3 实验结果分析

5.4 本章小结

第6章 总结与展望

6.1 结论

6.2 展望

参考文献

攻读硕士学位期间取得的研究成果

致谢

声明

展开▼

摘要

软件测试作为软件工程的一个重要组成部分,备受研究学者的关注。然而软件测试的花费是极其庞大的,至少50%的软件开发成本用于软件测试,回归测试作为软件测试的一个重要环节,在整个软件测试过程中占有很大的工作量比重。通过研究测试用例的排序问题,提出高效的优先级技术能够有效提高回归测试的效率,使得在较短的时间内能够检测出更多的错误,从而加快测试工作的进度以及新版本的发布,因此研究高效的优先级技术对提高测试效率以及降低测试成本是非常有意义的。
  测试用例优先级技术通常根据一些准则来调度测试用例的执行顺序以致于能够高效地完成测试目标。目前大多数的优先级技术主要根据覆盖信息、需求信息或测试历史执行信息等来研究排序准则。本文从程序结构出发,考虑程序结构的逻辑复杂性和功能模块影响范围两种影响因素,将其与基于覆盖排序技术的排序准则合并到一起进行研究,提出一种基于圈复杂度和调用次数的测试用例排序方法。该方法主要从两方面来评估测试用例的优先级,一方面通过圈复杂度来衡量功能模块代码的复杂性,作为该模块故障易发性的潜在代理,用来改进传统的以覆盖语句数或覆盖方法数来评估故障易发性的大小;另一方面通过分析待测试程序的静态调用图,以功能模块直接或间接被其它功能模块调用的次数作为该模块故障严重性的性能指标,用来改进传统的依赖历史信息评估故障严重性的大小。然后为评估的故障易发性和故障严重性两种因素分配不同权值,并以此来评估每一个待测试模块的测试能力TA(Testing-Ability)。最后通过分析各个测试用例的覆盖信息,将测试用例覆盖到的所有模块的测试能力的总和来确定每个测试用例的优先级。
  通过实验,将新技术应用于三个开源项目并对各个项目的单元测试用例进行测试,进一步地与随机排序技术、最优排序技术和基于覆盖的排序技术进行对比。实验结果表明,新的排序技术比随机排序技术和基于覆盖的技术具有更高的错误检测效率,并与最优排序技术最接近,说明该改进算法的有效性和高效性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号