利索能及
我要发布
收藏
专利号: 202111522112X
申请人: 杭州电子科技大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.基于分解的权重向量自适应的多目标测试用例排序方法,其特征在于,包括以下步骤:S1.假设某个待测试程序有m个分支,用n个测试用例对其进行回归测试,将测试用例集表示为Ψ={T1,T2,...,Tn},其中Ti为测试用例集中第i个测试用例,1≤i≤n,构造分支覆盖矩阵An×m和有效执行时间向量V=(t1,t2,...,tn),其中ti是对应第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中的每一个个体所对应的序列便是一个优化后的测试用例的排序;用户根据对目标的偏好,选择合适的解;

S4具体方法如下:

创建一个包含,个二维单位向量的集合E={e1,e2,...,el}作为权重向量的候选集,以及一个单位矩阵 计算每一个单位向量 与W中每一个子向量的欧式距离之l

和,其中k =1,2,...,l,并选择距离之和最大的单位向量es加入到W中,并将其从E中去除;

重复此操作;当W中单位向量的个数量达到Q时,Q是期望得到的最终解集中解的个数,且Q≤l+2,停止该操作,得到最终的权重向量集合L;

S5具体方法如下:

设置最大迭代次数maxGen;随机产生一个规模为N的初始种群P0={x1,x2,...,xN},其中N=m*n;计算每个个体 与每个权重向量wu之间的欧式距离,其中 是n个测试用例的一个全排列,wu∈L;查找距离每个权重向量wu最近的np个个体,并标记为wu的邻域设置初始理想点z*=(0,0),初始化存储容器EP=Φ;

S6具体方法如下:

S61.遗传过程:令iter=0;

S611.选择:对于每一个子问题ζu,计算其邻域Bu中每一个个体xuv的适应度fuv,其中v=

1,2,...,np,进一步计算其被选择的概率 利用轮盘赌算法,选出两个个体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。

2.根据权利要求1所述的基于分解的权重向量自适应的多目标测试用例排序方法,其特征在于,S3具体方法如下:选择平均分支覆盖率APBC和有效执行时间EET作优化目标来衡量一个测试用例优先级序列的优劣;假设执行完序列上的前n’个测试用例时,能够覆盖被测试程序中的所有分支,其中n’≤n,由此构造出适应度函数集F(x),F(x)=(APBC,EET),其中TBj表示测试用例优先级序列中首个覆盖程序中第j个分支的测试用例的位置。