基于遗传算法的测试用例生成方法、系统、设备及介质技术方案

技术编号:32675444 阅读:20 留言:0更新日期:2022-03-17 11:31
本发明专利技术提供了一种基于遗传算法的测试用例生成方法、系统、设备及介质,所述方法包括步骤:服务器获取待测对象,并从所述待测对象中获得种子测试用例;所述种子测试用例中包含有特征信息和对应的特征值;服务器基于所述特征信息和对应的特征值,构建初代种群;服务器构建遗传算法的适应度函数,并将所述初代种群作为所述遗传算法的输入,得到子代种群;服务器基于所述子代种群进化迭代,直至满足预设收敛条件,输出目标测试用例集;本申请实现以较少测试用例覆盖较全面场景,子代种群的冗余程度较小,利于提高软件测试效率。利于提高软件测试效率。利于提高软件测试效率。

【技术实现步骤摘要】
基于遗传算法的测试用例生成方法、系统、设备及介质


[0001]本专利技术涉及软件测试
,具体地说,涉及一种基于遗传算法的测试用例生成方法、系统、设备及介质。

技术介绍

[0002]遗传算法是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。遗传算法通常实现方式为一种计算机模拟。对于一个最优化问题,一定数量的候选解(称为个体)的抽象表示(称为染色体)的种群向更好的解进化。传统上,解用二进制表示(即0和1的串),但也可以用其他表示方法。进化从完全随机个体的种群开始,之后一代一代发生。在每一代中,整个种群的适应度被评价,从当前种群中随机地选择多个个体(基于他们的适应度),通过自然选择和突变产生新的生命种群,该种群在算法的下一次迭代中成为当前种群。
[0003]现有技术提供的基于遗传算法优化的软件测试用例生成方法中,对遗传算法中遗传算子进行改进,考虑分支距离和分支权重的影响设计适应度函数,但未与实际应用场景结合,导致需要用较多的测试用例本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于遗传算法的测试用例生成方法,其特征在于,包括以下步骤:服务器获取待测对象,并从所述待测对象中获得种子测试用例;所述种子测试用例中包含有特征信息和对应的特征值;服务器基于所述特征信息和对应的特征值,构建初代种群;服务器构建遗传算法的适应度函数,并将所述初代种群作为所述遗传算法的输入,得到子代种群;服务器基于所述子代种群进化迭代,直至满足预设收敛条件,输出目标测试用例集。2.如权利要求1所述的基于遗传算法的测试用例生成方法,其特征在于,所述从所述待测对象中获得种子测试用例,包括:服务器对所述待测对象进行解析,得到元数据信息;所述元数据信息中包含有测试样例;服务器对所述元数据信息进行遍历,得到所述测试样例,将所述测试样例作为种子测试用例。3.如权利要求2所述的基于遗传算法的测试用例生成方法,其特征在于,所述服务器基于所述特征信息和对应的特征值,构建初代种群,包括:服务器提取所述种子测试用例中的特征信息以及与所述特征信息对应的特征值;服务器基于所述特征信息和对应的特征值,构建初始特征池;所述初始特征池中每一特征值对应一特征信息;服务器将所述初始特征池和所述元数据信息进行匹配,得到与各个特征信息匹配的目标特征值;服务器基于所述特征信息和对应的目标特征值,组合形成目标特征池。4.如权利要求3所述的基于遗传算法的测试用例生成方法,其特征在于,所述服务器基于所述特征信息和对应的特征值,构建初代种群,包括:服务器基于所述目标特征池,构建初代种群。5.如权利要求1所述的基于遗传算法的测试用例生成方法,其特征在于,所述适应度函数为遗传算法每一轮迭代后的新增测试代码覆盖行数与前一轮迭代后未覆盖代码行数的比值。6.如权利要求1所述的基于遗传算法的测试用例生成方法,其特征在于,所述适应度函数为:f(x)表示第x轮迭代过程中生成的子代种群的适应度值,N(a)表示代码行集合a的行数,N(b)表示代码行集合b的行数,其中,a={M
x

[M
x
∩(M1∪M2∪M3∪

M
x
‑1)]},b={SUM

(M1∪M2∪M3∪

M
x
‑1)};M
x
表示第x轮迭代后已覆盖的代码行集合,SUM表示待测对象的代码行集合。7.如权...

【专利技术属性】
技术研发人员:沈柳依杨明明
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

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

1