[发明专利]基于分解的权重向量自适应的多目标测试用例排序方法在审
申请号: | 202111522112.X | 申请日: | 2021-12-13 |
公开(公告)号: | CN114036069A | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 陈信;殷嘉铖;俞东进;范旭麟 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/12 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 朱月芬 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分解 权重 向量 自适应 多目标 测试 排序 方法 | ||
1.基于分解的权重向量自适应的多目标测试用例排序方法,其特征在于,包括以下步骤:
S1.假设某个待测试程序有m个分支,用n个测试用例对其进行回归测试,将测试用例集表示为Ψ={T1,T2,...,Tn},其中Ti(1≤i≤n)为测试用例集中第i个测试用例,构造分支覆盖矩阵An×m和有效执行时间向量V=(t1,t2,...,tn),其中ti(i=1,2,...,n)是对应第i个测试用例的有效执行时间,若第i个测试用例执行中覆盖了第j个分支,则Aij=1,否则Aij=0;
S2.编码:给定测试程序和测试用例集合,对集合中每一个测试用例用1到n进行编号,测试用例优先级序列就是一个测试用例编号的全排列;
S3.设置适应度函数:
S4.权重向量初始化:
S5.初始化:
S6.迭代过程:令gen=0;根据每一个权重向量wu和适应度函数集F(x)得到Q个子问题ζu(x),u=1,2,...,Q;
S7.如果gen≤maxGen,则返回S6,否则转到S8;
S8.输出EP,EP中的每一个个体所对应的序列便是一个优化后的测试用例的排序;用户根据对目标的偏好,选择合适的解。
2.根据权利要求1所述的基于分解的权重向量自适应的多目标测试用例排序方法,其特征在于,S3具体方法如下:
选择平均分支覆盖率(Average Percentage of Branch Coverage,APBC)和有效执行时间(Effective Execution Time,EET)作优化目标来衡量一个测试用例优先级序列的优劣;假设执行完序列上的前n′(n′≤n)个测试用例时,能够覆盖被测试程序中的所有分支,由此构造出适应度函数集F(x),F(x)=(APBC,EET),其中TBj表示测试用例优先级序列中首个覆盖程序中第j个分支的测试用例的位置。
3.根据权利要求1所述的基于分解的权重向量自适应的多目标测试用例排序方法,其特征在于,S4具体方法如下:
创建一个包含l个二维单位向量的集合E={e1,e2,...,el}作为权重向量的候选集,以及一个单位矩阵计算每一个单位向量与W中每一个子向量的欧式距离之和,并选择距离之和最大的单位向量es加入到W中,并将其从E中去除;重复此操作;当W中单位向量的个数量达到Q时,Q是期望得到的最终解集中解的个数,且Q≤l+2,停止该操作,得到最终的权重向量集合L。
4.根据权利要求1所述的基于分解的权重向量自适应的多目标测试用例排序方法,其特征在于,S5具体方法如下:
设置最大迭代次数maxGen;随机产生一个规模为N(N=m*n)的初始种群P0={x1,x2,...,xN};计算每个个体(是n个测试用例的一个全排列)与每个权重向量wu(wu∈L)之间的欧式距离,查找距离每个权重向量wu最近的np个个体,并标记为wu的邻域设置初始理想点z*=(0,0),初始化存储容器EP=Φ。
5.根据权利要求4所述的基于分解的权重向量自适应的多目标测试用例排序方法,其特征在于,S6具体方法如下:
S61.遗传过程:令iter=0;
S611.选择:对于每一个子问题ζu,计算其邻域Bu中每一个个体xuv(v=1,2,...,np)的适应度fuv,进一步计算其被选择的概率利用轮盘赌算法,选出两个个体xua和xub;
S612.交叉:通过基于位置的交叉算法(PBX)对xua和xub执行交叉操作,具体过程如下:随机生成个互不相同整数且生成序列中位置的值与xua中位置的值相同;找出xua中位置值在xub中的位置,再将xub中其余位置对应的值按顺序放入的空余位置中,得到新序列同理生成
S613.变异:对分别进行变异操作,即对于和分别随机生成两个位置,并将这两个位置上的值进行交换,得到
S614.更新:比较和的大小,若则记否则记将和xua进行切比雪夫比较,如果则用替换xua;同理比较和的大小,若则记否则记将和xub进行切比雪夫比较,如果则用替换xub;iter=iter+1;
S615.若此则返回S611;
S62.从每个邻域中选择最优的xuv放入EP中,并从EP中删除所有被xuv帕累托占优的个体;
S63.更新理想点z*:比较每个个体在F(x)目标空间中的每个目标的适应度值,并取其最小值作为z*在该维度上的值;
S64.更新权重向量:并将其单位化
S65.更新每一个子问题ζu(x)的邻域Bu;置gen=gen+1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111522112.X/1.html,转载请声明来源钻瓜专利网。