[发明专利]基于语句交互覆盖的回归测试用例选择方法有效
申请号: | 201310643493.6 | 申请日: | 2013-12-03 |
公开(公告)号: | CN103617119A | 公开(公告)日: | 2014-03-05 |
发明(设计)人: | 陈翔;田丹;徐慧;文万志;陈继红;蒋峥峥 | 申请(专利权)人: | 南通大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 226019*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 语句 交互 覆盖 回归 测试 选择 方法 | ||
技术领域
本发明属于计算机软件测试技术领域,具体涉及一种基于语句交互覆盖的回归测试用例选择方法,用于提高回归测试的效率,减少回测测试中的复杂度并使选择出的测试用例仍具备较高的错误检测能力。
背景技术
软件产品在开发和维护过程中,因移除内在缺陷、完善已有功能、重构已有代码或提高运行性能等,需要执行代码修改并触发软件演化。随着以统一过程和敏捷方法为代表的增量迭代式开发过程的流行,软件演化频率也随之迅速提高并亟需经济有效的测试方法来确保演化后软件产品的质量。回归测试是其中一种有效方法,可有效保证代码修改的正确性并避免代码修改对被测程序其他模块产生的副作用。执行回归测试时的一个核心问题是测试用例集的维护策略设定。在软件持续演化过程中,因新测试用例的不断添加,导致测试用例集规模持续增长并增加了测试用例集的执行和维护开销。例如有研究人员在某一合作企业内,当测试一个包含约2万行代码的软件产品时,发现运行所有测试用例后,所需时间高达7周。而测试用例集压缩方法在满足指定测试需求(例如语句、分支和定义使用对等)的覆盖前提下,通过识别并移除冗余测试用例来压缩测试用例集规模,从而提高回归测试效率并降低回归测试成本。
然而传统的测试用例集压缩方法仅考虑对单一测试需求的覆盖,随后设计出新颖的算法来完成测试用例集的压缩并尽可能的使得压缩后的测试用例集规模更小。在一些实证研究中,研究人员发现测试用例集压缩方法虽可以大幅度缩减压缩后的测试用例集规模,但同时也会显著降低原有测试用例集的缺陷检测能力。
综上所述,为提高压缩后的测试用例集缺陷检测能力,有必要设计出一种系统方法来提高压缩后的测试用例集的缺陷检测能力。本发明由此而来。
发明内容
本发明目的在于提供一种基于语句交互覆盖的回归测试用例选择方法,解决了现有技术中测试用例集压缩方法虽然大幅度缩减压缩后的测试用例集规模,但显著降低原有测试用例集的缺陷检测能力等难题,本发明的方法有效降低测试用例数量并保持足够高的错误检测能力。
为了解决现有技术中这些问题,本发明提供的技术方案如下:
一种基于语句交互覆盖的回归测试用例选择方法,包括如下步骤:
(1)对待测程序进行插桩,在插桩后的程序上执行用于测试被测程序的已有测试用例集中的每个测试用例,记录每个测试用例的语句覆盖信息并构造出测试用例-语句覆盖矩阵,确定需覆盖的语句集R;
(2)基于测试用例-语句覆盖矩阵生成可覆盖的语句间交互集I;
(3)根据可覆盖的语句间交互集I、需覆盖的语句集R和已有测试用例集,按照选择策略执行测试用例集压缩方法,并最终生成压缩后的测试用例集。
优选的技术方案中,所述方法步骤(3)中执行测试用例集压缩方法按照以下步骤进行:
1)构造压缩后的测试用例集,并设置压缩后测试用例集为空集;
2)按照第一选择策略S1从已有测试用例集中选择覆盖语句集R中相应的语句的测试用例,添加到压缩后的测试用例集中,并确定语句间交互集I中已经覆盖的语句交互;
3)按照第二选择策略S2从已有测试用例集中选择覆盖语句间交互集I中尚未覆盖的语句交互的测试用例,添加到压缩后的测试用例集中。
优选的技术方案中,所述方法步骤2)按照第一选择策略S1从已有测试用例集中选择覆盖需覆盖的语句集R中相应的语句的测试用例按照如下步骤进行:
A1)计算出需覆盖的语句集R中每个语句的基数,获取需覆盖的语句集R中语句的最小基数;所述基数为测试用例集中覆盖该语句的测试用例数量;
A2)从已有测试用例集中选择测试用例子集T1,使其中的测试用例覆盖拥有最小基数的语句个数最多;
A3)如果测试用例子集T1仅包含一个测试用例,则将该测试用例为被选定的测试用例;如果测试用例子集T1包含两个或两个以上的测试用例时,从测试用例子集T1中选择测试用例子集T2,使其中的测试用例覆盖语句间交互集I中语句交互最多;
A4)如果测试用例子集T2仅包含一个测试用例,则该测试用例为被选定的测试用例;如果测试用例子集T2包含两个或两个以上的测试用例时,从测试用例子集T2中随机选择一个测试用例作为被选定的测试用例。
优选的技术方案中,所述方法步骤3)按照第二选择策略S2从已有测试用例集中选择未同时覆盖需覆盖的语句集R中相应的语句和语句间交互集I的语句交互的测试用例按照如下步骤进行:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310643493.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:汽爆罐加料口用阀门
- 下一篇:用于PCB板的自动包边设备及方法