[发明专利]一种回归测试中测试用例优先级排序方法有效
申请号: | 202110762419.0 | 申请日: | 2021-07-06 |
公开(公告)号: | CN113590472B | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 杨秋辉;刘巧韵;潘春霞 | 申请(专利权)人: | 四川大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610065 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 回归 测试 优先级 排序 方法 | ||
本发明涉及一种回归测试中的测试用例优先级排序方法。首先根据测试用例的文本主题和覆盖率相似性对测试用例进行聚类;再用最大化代码覆盖率、历史执行失败率和最小化执行时间作为目标,使用多目标优化算法结合聚类结果对测试用例进行排序;最后再利用测试用例间的关联关系动态调整排序结果,最终得到测试用例优先级的排序顺序。该方法融合了数据挖掘技术和多目标优化技术,结合了测试用例的静态文本信息和动态执行信息,是集白盒测试用例优先级排序和黑盒测试用例优先级排序的优点于一体的全新方案,提高了缺陷检测速率,考虑更加全面,实验证明能得到更好的排序结果。
技术领域
本发明属于软件工程中的软件测试领域,尤其涉及一种回归测试中的测试用例优先级排序方法。
背景技术
回归测试是用于检验程序或代码更改是否对现有功能造成负面影响的软件测试,在软件行业中的应用非常普遍。然而,测试用例规模通常很大,在回归测试中完全执行所有测试用例的成本会很高。将测试用例优先级排序,可以使更有可能检测出故障的测试用例优先执行,在可用测试时间内提供更大的故障检测能力,从而提高测试效率,减少时间和资源开销。如何有效地计算测试用例的优先级,是回归测试中的一个重要内容。
现有的回归测试中测试用例优先级排序方法通常基于单一信息确定测试用例相似性,这样并不能全面地考虑测试用例在各方面的相似性;同时,很多排序方法只考虑了将能够发现缺陷的测试用例排在前面,而没有考虑它们是否揭示不同的缺陷。
发明内容
本发明提出了一种回归测试中的测试用例优先级排序方法,首先结合测试用例的静态和动态信息计算测试用例的相似性,对测试用例进行聚类;然后结合聚类结果,对多目标优化排序结果进行调整;最后将测试用例是否揭示相同的缺陷纳入关联规则的考量中,进一步调整测试用例排序结果。实验证明,该方法具有更好的排序效果。
为了实现上述目的,本发明采用一种回归测试中测试用例优先级的排序方法,包括以下三大步骤:
步骤1,根据测试用例的文本主题相似性和语句覆盖率相似性进行测试用例聚类;
所述步骤1,根据测试用例的文本主题相似性和语句覆盖率相似性进行测试用例聚类,包含以下步骤:
步骤1.1,将测试用例文本进行预处理,对预处理后的文本进行主题建模,计算测试用例的文本主题相似性;
执行该步骤的原因是,测试用例文本中包含测试用例的各种信息,因此可以从测试用例的静态文本信息角度出发,判断其在功能上的相似性;
步骤1.2,统计测试用例的语句覆盖情况,计算测试用例的语句覆盖相似性;
执行该步骤的原因是,语句覆盖情况描述程序源代码被测试用例测试的比例和程度,因此可以从测试用例的动态执行信息角度出发,判断其在代码覆盖范围上的相似性;
步骤1.3,根据实验确定两种相似性的加权系数,并计算加权相似性总和;
步骤1.4,根据加权相似性总和对测试用例进行层次聚类,得到聚类结果;将测试用例按相似性划分为N个不同类;
步骤2,对测试用例进行多目标排序,并根据聚类结果调整排序序列;
所述步骤2,对测试用例进行多目标排序,并根据聚类结果调整排序序列,包括以下步骤:
步骤2.1,以代码覆盖率最大化、历史执行失败率最大化和执行时间最大化为排序目标,使用多目标遗传算法对测试用例进行多目标排序,得到排序序列;
步骤2.2,根据步骤1得到的聚类结果,调整步骤2.1所得排序序列,使得排在前面的测试用例属不同聚类类别;
执行该步骤的原因是,排序序列可能出现检测相同错误的测试用例一起排在序列前端的情况,因此需要根据聚类结果调整排序,以提高检错速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110762419.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:叉车定位系统
- 下一篇:一种火车轨道石头清理机构