[发明专利]一种上位多目标测试用例优先级排序方法有效
申请号: | 201811092217.4 | 申请日: | 2018-09-19 |
公开(公告)号: | CN109271320B | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 孙家泽;王刚;王曙燕 | 申请(专利权)人: | 西安邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/00 |
代理公司: | 北京汇信合知识产权代理有限公司 11335 | 代理人: | 吴甘棠 |
地址: | 710061 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 上位 多目标 测试 优先级 排序 方法 | ||
针对回归测试中的多目标测试用例优先级排序问题,本发明公开了一种上位多目标测试用例优先级排序方法。该方法首先以测试用例编号有序序列作为粒子编码,测试用例编号序列的集合作为粒子群,随机生成初始种群;以测试用例序列对待测程序的平均分支覆盖率和有效执行时间作为适应度评价函数;然后采用上位交叉的方法产生新个体,使用非支配解集中的粒子作为全局最优粒子;最后,当迭代次数达到最大迭代次数时,非支配解集中的个体就是最优多目标排序结果。与已有的方法相比,本发明提供一种非支配解集分布范围广、适应值更高的多目标测试用例优先级排序方法,本方法有助于在回归测试过程中尽早发现软件缺陷,降低测试成本。
技术领域
本发明属于软件测试技术领域,尤其是软件回归测试技术领域,具体涉及一种上位多目标测试用例优先级排序方法。
背景技术
在软件演化过程中,测试用例优先级(Test Case Prioritization,TCP)技术作为一种高效实用的回归测试技术,通过将测试用例按照某种测试目标进行排序来获得更高的测试效率,对于提高缺陷的早期检测速率和降低测试成本有重要的意义。随着工业测试要求的不断提高,只针对单一测试目标对测试用例序列进行优化已不能够满足工业测试需求,因为实际测试过程中需考虑多种因素对软件质量的影响,例如测试成本、时间和代码修改等因素,多目标测试用例优先排序问题(Multi-Objective Test CasesPrioritization,MOTCP)是目前回归测试中急需解决的一个重要问题。
多目标测试用例优先级排序问题是目前软件回归测试领域中的一个研究热点,由于在多目标测试用例优先排序中多个目标一般存在冲突关系,为了搜索到多个目标的最优解集,普遍采用的工程方法是将多目标测试用例优先排序问题转化为组合优化问题采用启发式方法解决。Deb Kalyanmoy等提出带精英策略的快速非支配排序遗传算法(Non-dominated Sorting Genetic Algorithm II,NSGA-II)解决多目标优化问题,虽然NSGA-II运行速度快,解集的收敛性较好,但是遗传算法中选择、交叉、变异等操作相对复杂,算法性能不理想。Tyagi Manika等用于求解多目标优化问题的粒子群算法(Multi-ObjectiveParticle Swarm Optimization,MOPSO)解决测试用例优先排序,但MOPSO收敛性不好。陈云飞等为提高粒子在迭代过程中的多样性,参照遗传算法中的交叉操作提出了一种基于PSO的测试用例预优化方法,采用顺序交叉和单点交叉的方法对粒子进行更新。由于测试用例序列中存在上位基因段,上位基因段能表达解的原本性状,对适应值的影响起到决定性作用,本发明针对多目标的测试用例优先排序问题,利用上位交叉方法对粒子群优化算法中速度及位置的更新方式进行重新定义,提出了一种基于上位性的多目标测试用例优先排序方法,提高回归测试效率,有助于尽早发现软件缺陷。
发明内容
在进行软件回归测试时,由于测试成本、时间等多因素的影响,通常有多个测试目标需要被满足,因此一个测试用例排序结果的优劣需要从多个指标来进行评价。在多目标测试用例优先排序中,普遍情况下求得使多个评价指标均达到单目标时的最优化是难以做到的,需要求解问题的非支配解集,但传统的方法得到的非支配解集分布不够广泛,适应值欠佳,因此需要发掘测试用例序列的特性寻找新的高效的多目标测试用例优先级方法。
本发明的技术方案为:一种上位多目标测试用例优先级排序方法,具体包括以下几个步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811092217.4/2.html,转载请声明来源钻瓜专利网。