[发明专利]一种基于DE-TH算法的测试用例生成方法及系统有效
申请号: | 202010394716.X | 申请日: | 2020-05-11 |
公开(公告)号: | CN112749082B | 公开(公告)日: | 2022-06-24 |
发明(设计)人: | 苏清华;蔡高成;胡中波;周婷;刘笛 | 申请(专利权)人: | 长江大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 武汉蓝宝石专利代理事务所(特殊普通合伙) 42242 | 代理人: | 谢洋 |
地址: | 434000*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 de th 算法 测试 生成 方法 系统 | ||
1.一种基于拓扑超立方体学习策略的差分演化DE-TH算法的测试用例生成方法,其特征在于,包括:
对被测程序进行静态分析,提取所述被测程序的静态结构信息;
基于拓扑超立方体学习策略的差分演化DE-TH算法和所述静态结构信息,生成测试新种群;包括:
基于所述静态结构信息初始化种群;
基于差分策略,实现种群的个体突变;
将父代个体与突变个体进行二项交叉;其中,父代个体和突变个体进行二项式交叉操作,生成试验个体ui,进而保持种群的多样性;当一个[0,1]之间的随机数小于等于交叉概率,或者当前维度索引等于一个随机产生的维度索引时,用vi,j来更新ui,j;否则,用xi,j更新ui,j;更新过程如下:
式中,ui,j表示第i个试验个体的第j维;vi,j表示第i个突变个体的第j维;xi,j表示第i个父代个体的第j维;CR表示交叉概率;jrand表示在第j维中随机产生的维度索引;
基于拓扑超立方体学习策略,充分利用当前最优个体信息进行迭代;其中,当满足一个跳转条件时,拓扑超立方体学习策略才被执行;对于一个D维的试验个体ui,拓扑超立方体学习THBL策略根据试验个体的每个维度中的当前数ui,j生成对立数然后ui,j和根据一个相同的搜索步长控制参数k产生和记Upj和Lowj是个体在第j维的上下限,和的计算方法如下:
和是一对对立数;
接着,拓扑超立方体学习THBL策略将ui的某些维度用它们的和中的其中一个来替换,就生成了一个新的点,而最后可以生成(4D-1)个新的点;把这(4D-1)个点和当前点都称为拓扑超立方体点,记为l=1,2,...,4D.拓扑超立方体点集合记为
然后,用到当前最优解xbest的曼哈顿距离最短的拓扑超立方体点来更新当前点ui;过程如下:
这里
式中,xbest,j是当前最优解的第j维;是第l个拓扑超立方体点的第j维;
生成测试新种群;
在当前迭代完成后,将所述新种群解码为满足被测程序的测试用例集。
2.根据权利要求1所述的基于拓扑超立方体学习策略的差分演化DE-TH算法的测试用例生成方法,其特征在于,在所述在当前迭代完成后,将所述新种群解码为满足被测程序的测试用例集后,所述方法还包括:
将所述测试用例集作为被测程序的数据输入,以检测所述被测程序的缺陷。
3.根据权利要求2所述的基于拓扑超立方体学习策略的差分演化DE-TH算法的测试用例生成方法,其特征在于,在将所述测试用例集作为被测程序的数据输入,以检测所述被测程序的缺陷之后,所述方法还包括:
驱动被测程序并记录输出结果,同时更新路径覆盖信息和测试套件。
4.根据权利要求3所述的基于拓扑超立方体学习策略的差分演化DE-TH算法的测试用例生成方法,其特征在于,在所述驱动被测程序并记录输出结果,同时更新路径覆盖信息和测试套件之后,所述方法还包括:
若判断所述拓扑超立方体学习策略的差分演化DE-TH算法未达到了终止条件,则计算测试用例的适应度函数值,用贪婪选择机制来更新当前种群以生成下一代种群,否则,终止算法。
5.根据权利要求1所述的基于拓扑超立方体学习策略的差分演化DE-TH算法的测试用例生成方法,其特征在于,所述对被测程序进行静态分析,提取所述被测程序的静态结构信息,包括:
提取测试数据的类型、范围参数以及被测程序中要进行测试的路径集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长江大学,未经长江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010394716.X/1.html,转载请声明来源钻瓜专利网。