【技术实现步骤摘要】
一种基于双混沌鲸鱼优化算法的测试用例自动生成方法
本专利技术属于计算机测试领域,具体涉及一种基于双混沌鲸鱼优化算法的测试用例自动生成方法。
技术介绍
基于路径覆盖的软件测试是现在普遍使用的软件测试方法,而测试用例自动生成对提升软件测试的效率起着关键性作用。近年来,国内外研究人员将自动生成测试用例与各种元启发式优化算法不断结合,在生成测试用例的时间和质量上都有很大的提升。现在普遍使用的是遗传算法和粒子群算法,例如尤枫等人提出的基于输出域的测试用例自动生成方法,姜淑娟等人提出的基于模式组合的粒子群优化测试用例生成方法。遗传算法已经普遍应用于以路径覆盖为基础的测试用例自动生成中,但还存在两个问题:第一,在搜索最优解时,很难确保算法可以收敛到全局最优解;第二,没有有效的适应度函数用来支撑测试数据的选择。由于粒子群算法的结构简单、寻优速度快,研究人员将粒子群算法引入到测试用例生成中,并且证明了粒子群算法确实比遗传算法更有效。但由于粒子群算法的参数多,参数控制会严重影响到后期算法的收敛稳定性。能否收敛到全局最优解以及收敛速度成了现在需要
【技术保护点】
1.一种基于双混沌鲸鱼优化算法的测试用例自动生成方法,其特征在于,具体包括以下步骤:/n步骤1:获取被测程序,对其进行分析得到输入参数个数k,并将被测程序转化成控制流图;/n步骤2:对被测程序进行插桩;/n步骤3:计算被测程序的测试路径集PATH={path
【技术特征摘要】
1.一种基于双混沌鲸鱼优化算法的测试用例自动生成方法,其特征在于,具体包括以下步骤:
步骤1:获取被测程序,对其进行分析得到输入参数个数k,并将被测程序转化成控制流图;
步骤2:对被测程序进行插桩;
步骤3:计算被测程序的测试路径集PATH={path1,path2,...,pathn};其中,n表示测试路径总数;
步骤4:初始化种群数量NP、最大迭代次数Maxgen和最优值Spath;使用Logistic映射产生混沌序列来对粒子进行初始化,得到鲸鱼个体集合S={Si|i=1,2,...NP},其中每个鲸鱼个体Si能够表示为k维的位置向量(x1,x2,...,xk);
步骤5:使用层接近法和分支距离法得到适应度函数;
步骤6:从测试路径集PATH中选择一条路径pathj作为目标测试路径;其中,j表示第j条测试路径,j的取值从1到n;
步骤7:运行插桩后的代码,得到标识变量和分支距离信息;
步骤8:根据适应度函数计算个体的适应度值,并找出当前迭代最优个体Siter;
步骤9:若当前迭代最优个体Siter优于目标测试路径的最优值Spath,则更新最优值Spath,否则直接执行步骤10;
步骤10:若最优值Spath已覆盖目标路径pathj,或者迭代次数已经达到最大迭代次数Maxgen,则跳转到步骤12,否则跳转到步骤11;
步骤11:对最优值Spath进行混沌扰动操作,从混沌序列中获得最优个体S*;分别以Spath和S*为中心,以NP/2为种群数目,组成一个新的种群...
【专利技术属性】
技术研发人员:赵卫东,王静,王铭,刘昊,
申请(专利权)人:山东科技大学,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。