【技术实现步骤摘要】
一种上位多目标测试用例优先级排序方法
本专利技术属于软件测试
,尤其是软件回归测试
,具体涉及一种上位多目标测试用例优先级排序方法。
技术介绍
在软件演化过程中,测试用例优先级(TestCasePrioritization,TCP)技术作为一种高效实用的回归测试技术,通过将测试用例按照某种测试目标进行排序来获得更高的测试效率,对于提高缺陷的早期检测速率和降低测试成本有重要的意义。随着工业测试要求的不断提高,只针对单一测试目标对测试用例序列进行优化已不能够满足工业测试需求,因为实际测试过程中需考虑多种因素对软件质量的影响,例如测试成本、时间和代码修改等因素,多目标测试用例优先排序问题(Multi-ObjectiveTestCasesPrioritization,MOTCP)是目前回归测试中急需解决的一个重要问题。多目标测试用例优先级排序问题是目前软件回归测试领域中的一个研究热点,由于在多目标测试用例优先排序中多个目标一般存在冲突关系,为了搜索到多个目标的最优解集,普遍采用的工程方法是将多目标测试用例优先排序问题转化为组合优化问题采用启发式方法解决。DebKalyanmoy等提出带精英策略的快速非支配排序遗传算法(Non-dominatedSortingGeneticAlgorithmII,NSGA-II)解决多目标优化问题,虽然NSGA-II运行速度快,解集的收敛性较好,但是遗传算法中选择、交叉、变异等操作相对复杂,算法性能不理想。TyagiManika等用于求解多目标优化问题的粒子群算法(Multi-ObjectiveParticleSwarm ...
【技术保护点】
1.一种上位多目标测试用例优先级排序方法,其特征在于包括以下步骤:步骤一:记录回归测试中的各个测试用例的分支覆盖情况和有效执行时间得到测试用例分支覆盖矩阵A和有效执行时间向量V;假设某待测程序有m个分支,用n个测试用例进行测试,若测试用例集用Φ表示,Φ={T1,T2,…,Ti,…,Tn},其中Ti(1≤i≤n)为测试用例集中的第i个测试用例,构造的分支覆盖矩阵A的大小为n×m,有效执行时间向量V的大小为n,待测程序中分支编号的范围是1到m,测试用例编号的范围是1到n,第i个测试用例的有效执行时间为ETi,若第i个测试用例执行中覆盖了第j个分支,则Aij=1,否则Aij=0;步骤二:编码;针对给定的待测程序和测试用例集,给每一个测试用例一个1到n的编号,测试用例执行优先排序序列就是测试用例编号的一个全排列,个体被编码为一个测试用例编号全排列串,编码的长度为测试用例的个数n;步骤三:构造适应度函数;选择用平均分支覆盖率(Average Percentageof Branch Coverage,APBC)和有效执行时间(Effective Execution Time,EET)两个目标作为适 ...
【技术特征摘要】
2017.11.07 CN 20171108626431.一种上位多目标测试用例优先级排序方法,其特征在于包括以下步骤:步骤一:记录回归测试中的各个测试用例的分支覆盖情况和有效执行时间得到测试用例分支覆盖矩阵A和有效执行时间向量V;假设某待测程序有m个分支,用n个测试用例进行测试,若测试用例集用Φ表示,Φ={T1,T2,…,Ti,…,Tn},其中Ti(1≤i≤n)为测试用例集中的第i个测试用例,构造的分支覆盖矩阵A的大小为n×m,有效执行时间向量V的大小为n,待测程序中分支编号的范围是1到m,测试用例编号的范围是1到n,第i个测试用例的有效执行时间为ETi,若第i个测试用例执行中覆盖了第j个分支,则Aij=1,否则Aij=0;步骤二:编码;针对给定的待测程序和测试用例集,给每一个测试用例一个1到n的编号,测试用例执行优先排序序列就是测试用例编号的一个全排列,个体被编码为一个测试用例编号全排列串,编码的长度为测试用例的个数n;步骤三:构造适应度函数;选择用平均分支覆盖率(AveragePercentageofBranchCoverage,APBC)和有效执行时间(EffectiveExecutionTime,EET)两个目标作为适应度函数来衡量一个测试用例优先排序序列的优劣;针对任一个体,TBi表示首个覆盖程序中第i个分支的测试用例在该测试用例优先排序序列中所处的位置。执行完序列上的前m'个测试用例时,能够覆盖被测程序中的所有分支,ETi表示执行测试用例优先排序序列中第i个测试用例花费的时间。由此可以构造适应度函数APBC和EET,其中TBi可以用分支覆盖矩阵A进行计算,针对被覆盖的第i个分支,在A中查找第一个覆盖到该语句的测试用例在该测试用例序列中所处的次序,那么这个次序就是TBi的数值;步骤四:随机初始化种群;设定种群规模为N,即种群中包含N个个体,随机初始化各个粒子为测试用例编号的全排列,并作为该粒子的历史最优,随机初始各个粒子的初始速度为一个测试用例编号的全排列,计算各个个体的适应值,根据种群中所有个体之间帕托累关系计算初始种群的非支配解集ARCHIVE,从种群的ARCHIVE中随机取一个粒子作为全局最优粒子,设置最大迭代次数MAX;令迭代次数W=1,开始迭代:步骤五:采用上位交叉的方法产生新的子个体,选择两个本次没有...
【专利技术属性】
技术研发人员:孙家泽,王刚,王曙燕,
申请(专利权)人:西安邮电大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。