基于改进的遗传算法的测试用例生成方法和装置制造方法及图纸

技术编号:38233758 阅读:10 留言:0更新日期:2023-07-25 18:00
本申请实施例提供一种基于改进的遗传算法的测试用例生成方法和装置。涉及计算机领域。包括:确定初始种群;迭代执行下述步骤直至达到终止条件,确定最优解:构造适应度函数,确定群体中个体适应度以及贡献度;基于群体中个体适应度以及贡献度,通过选择策略和最佳保存策略确定最优个体;基于最优个体进行遗传操作得到下一代群体,遗传操作包括交叉操作和变异操作,其中,每个最优个体对应有当前交叉概率和当前变异概率,当前交叉概率和当前变异概率动态确定,当前交叉概率和当前变异概率与种群个体适应度的一致性负相关。以此可以通过改进的迭代式自适应交叉变异的遗传算法测试用例自动生成方式,解决算法难以收敛的问题。解决算法难以收敛的问题。解决算法难以收敛的问题。

【技术实现步骤摘要】
基于改进的遗传算法的测试用例生成方法和装置


[0001]本申请涉及计算机
,具体而言,涉及一种基于改进的遗传算法的测试用例生成方法和装置。

技术介绍

[0002]近年来出现了把测试用例的生成问题转化为路径搜索问题的思想。由于遗传算法直接以适应度作为搜索信息,无需其他辅助信息等特点,许多学者开始研究基于遗传算法的面向路径的测试用例自动生成方式。
[0003]而在遗传算法中,交叉概率和变异概率的选择是影响算法行为和性能的关键所在,会直接影响算法的收敛性。

技术实现思路

[0004]本申请实施例的目的在于提供一种基于改进的遗传算法的测试用例生成方法和装置,用以缓解现有技术中存在的难收敛的问题。
[0005]第一方面,本专利技术提供一种基于改进的遗传算法的测试用例生成方法,包括:
[0006]确定初始种群;
[0007]迭代执行下述步骤直至达到终止条件,确定最优解:
[0008]构造适应度函数,确定群体中个体适应度以及贡献度;
[0009]基于群体中个体适应度以及贡献度,通过选择策略和最佳保存策略确定最优个体;
[0010]基于最优个体进行遗传操作得到下一代群体,所述遗传操作包括交叉操作和变异操作,其中,每个最优个体对应有当前交叉概率和当前变异概率,当前所述交叉概率和当前所述变异概率动态确定,当前所述交叉概率和当前所述变异概率与种群个体适应度的一致性负相关。
[0011]在可选的实施方式中,将最优个体作为一个新种群G,计算新种群G的个体适应度的方差为g
var
和平均值X1,从种群G中去掉个体适应度最高和最低的两个个体,再次计算出剩余个体的适应度方差g
var

和平均值X1′

[0012]若则确定当前所述交叉概率为第一交叉概率,确定当前所述变异概率为第一变异概率;当δ>0.1,则确定当前所述交叉概率为第二交叉概率,确定当前所述变异概率为第二变异概率;其中,所述第一交叉概率大于所述第二交叉概率,所述第一变异概率大于所述第二变异概率。
[0013]在可选的实施方式中,所述第一交叉概率和所述第一变异概率为预设固定值。
[0014]在可选的实施方式中,当前所述交叉概率Ρ
c
以及当前所述变异概率Ρ
m
分别基于如下公式确定:
[0015][0016][0017]其中g
max
表示群体G中的最大适应度值,g
avg
表示群体G的平均适应度值,g表示要交叉的两个个体中较大的适应度值,g

表示要变异个体的适应度值,k
c2
,k
c3
,k
m2
,k
m3
是常数,且0<k
c3
<k
c2
<1,0<k
m3
<k
m2
<1。
[0018]在可选的实施方式中,基于如下公式迭代计算下一代所述交叉概率Ρ
c'
和下一代所述变异概率Ρ
m'

[0019][0020]其中,Ρ
c
为当前所述交叉概率和Ρ
m
为当前所述变异概率,具体基于如下公式计算:
[0021][0022][0023]其中,其中t为当前迭代次数,T为最大迭代次数,g
max
表示群体G中的最大适应度值,g
avg
表示群体G的平均适应度值,g表示要交叉的两个个体中较大的适应度值,g

表示要变异个体的适应度值,δ表示方差齐性值,k
c1
,k
c2
,k
c3
,k
m1
,k
m2
,k
m3
是常数,且0<k
c3
<k
c2
<k
c1
<1,0<k
m3
<k
m2
<k
m1
<1;
[0024]在可选的实施方式中,k
c1
=k
m1
=0.9,k
c2
=k
m2
=0.5,k
c3
=k
m3
=0.2。
[0025]在可选的实施方式中,贡献度为每个个体被保留的初始概率,概率越高越不容易被淘汰。
[0026]第二方面,本专利技术提供一种基于改进的遗传算法的测试用例生成装置,包括:
[0027]确定模块,用于确定初始种群;
[0028]迭代模块,用于迭代执行下述步骤直至达到终止条件,确定最优解:构造适应度函数,确定群体中个体适应度以及贡献度;基于群体中个体适应度以及贡献度,通过选择策略
和最佳保存策略确定最优个体;基于最优个体进行遗传操作得到下一代群体,所述遗传操作包括交叉操作和变异操作,其中,每个最优个体对应有当前交叉概率和当前变异概率,当前所述交叉概率和当前所述变异概率动态确定,当前所述交叉概率和当前所述变异概率与种群个体适应度的一致性负相关。
[0029]第三方面,本专利技术提供一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0030]存储器,用于存放计算机程序;
[0031]处理器,用于执行存储器上所存储的程序时,实现前述实施方式任一所述的方法步骤。
[0032]第四方面,本专利技术提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前述实施方式任一所述的方法步骤。
[0033]本申请实施例提供一种基于改进的遗传算法的测试用例生成方法和装置。通过确定初始种群;迭代执行下述步骤直至达到终止条件,确定最优解:构造适应度函数,确定群体中个体适应度以及贡献度;基于群体中个体适应度以及贡献度,通过选择策略和最佳保存策略确定最优个体;基于最优个体进行遗传操作得到下一代群体,所述遗传操作包括交叉操作和变异操作,其中,每个最优个体对应有当前交叉概率和当前变异概率,当前所述交叉概率和当前所述变异概率动态确定,当前所述交叉概率和当前所述变异概率与种群个体适应度的一致性负相关。以此可以通过改进的迭代式自适应交叉变异的遗传算法测试用例自动生成方式,解决算法难以收敛的问题。
附图说明
[0034]为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进的遗传算法的测试用例生成方法,其特征在于,包括:确定初始种群;迭代执行下述步骤直至达到终止条件,确定最优解:构造适应度函数,确定群体中个体适应度以及贡献度;基于群体中个体适应度以及贡献度,通过选择策略和最佳保存策略确定最优个体;基于最优个体进行遗传操作得到下一代群体,所述遗传操作包括交叉操作和变异操作,其中,每个最优个体对应有当前交叉概率和当前变异概率,当前所述交叉概率和当前所述变异概率动态确定,当前所述交叉概率和当前所述变异概率与种群个体适应度的一致性负相关。2.根据权利要求1所述的方法,其特征在于,将最优个体作为一个新种群G,计算新种群G的个体适应度的方差为g
var
和平均值X1,从种群G中去掉个体适应度最高和最低的两个个体,再次计算出剩余个体的适应度方差g
var

和平均值X1′
;若则确定当前所述交叉概率为第一交叉概率,确定当前所述变异概率为第一变异概率;当δ>0.1,则确定当前所述交叉概率为第二交叉概率,确定当前所述变异概率为第二变异概率;其中,所述第一交叉概率大于所述第二交叉概率,所述第一变异概率大于所述第二变异概率。3.根据权利要求2所述的方法,其特征在于,所述第一交叉概率和所述第一变异概率为预设固定值。4.根据权利要求2所述的方法,其特征在于,当前所述交叉概率Ρ
c
以及当前所述变异概率Ρ
m
分别基于如下公式确定:分别基于如下公式确定:其中g
max
表示群体G中的最大适应度值,g
avg
表示群体G的平均适应度值,g表示要交叉的两个个体中较大的适应度值,g

表示要变异个体的适应度值,k
c2
,k
c3
,k
m2
,k
m3
是常数,且0<k
c3
<k
c2
<1,0<k
m3
<k
m2
<1。5.根据权利要求1所述的方法,其特征在于,基于如下公式迭代计算下一代所述交叉概率Ρ
c'
和下一代所述变异概率Ρ
m'
:其中,Ρ
c
为当前所述交叉概率和Ρ
m
为当前所述变异概率,具体基于如...

【专利技术属性】
技术研发人员:王维维许允迪周才健周柔刚陈安盛锦华周卫华王班肖廷哲
申请(专利权)人:温州汇萃智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1