欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2021105868129
申请人: 长江大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-02-28
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于改进的灰色预测演化算法的测试用例生成方法,其特征在于,包括以下步骤:

S1,对被测程序进行静态分析,得到被测程序的目标路径集和静态结构信息;

S2,基于所述目标路径集和静态结构信息,执行GPE‑ISS算法产生新的测试用例集;

S3,将生成的新的测试用例集作为被测程序的输入数据,以驱动被测程序运行;

S4,记录被测程序的运行结果,并使用运行结果更新路径覆盖信息;

S5,计算测试用例的适应度函数值,从当前迭代产生的测试用例和上一次迭代保留下来的测试用例中选取适应度函数值最优的测试用例进入下一轮的迭代;

S6,重复执行S2‑S5,直到迭代算法满足终止条件。

2.根据权利要求1所述的方法,其特征在于,步骤S1中:所述目标路径集为被测程序中所有需要被覆盖的路径的集合,所述静态结构信息至少包括被测程序的测试数据的输入域和测试数据的类型。

3.根据权利要求2所述的方法,其特征在于,所述步骤S2中,基于所述目标路径集和静态结构信息,执行GPE‑ISS算法产生新的测试用例集,包括:S201,基于所述目标路径集和静态结构信息,确定GPE‑ISS算法的输入域和算法终止条件,所述算法终止条件为实现所述目标路径集的100%路径覆盖率或达到给定的测试用例数的最大值;

S202,在前三次迭代中,每次迭代都执行初始化操作随机生成一个测试用例集,所述测试用例集包括完整的一个初始化种群,种群的每一个个体表示一个测试用例,种群X的第i个个体表示为 其中D为变量的维数,N为种群大小,G为最大代数,则第g代的第i个个体的第j维可以通过下式得到:其中,rand(0,1)为均匀分布在范围为[0,1]内产生的随机数;Upj、Lowj分别表示第j维的上界和下界;

S203,在第四次以后的迭代中,将连续前三代的种群序列视为一个时间序列,在这三代种群序列的基础上,构造一个指数函数来预测下一代种群,方法如下:g‑2 g‑1 g

从连续的3个种群X ,X ,X 中分别随机选取1个个体,记为xr1,xr2,xr3,则有d12=|xr1,j‑xr2,j|,d13=|xr1,j‑xr3,j|,d23=|xr2,j‑xr3,j|,Maxdr=max{d12,d23,d13},Mindr=min{d12,d23,d13},其中,d12、d13和d23分别表示xr1,j‑xr2,j、xr1,j‑xr3,j和xr2,j‑xr3,j的绝对值,Maxdr和Mindr分别表示d12、d13、d23中的最大值和最小值;

g

通过以下公式得到试验种群U的第i个个体 的第j维度的值:其中,γ是控制预报的阈值;w、a、b分别表示干扰系数、灰色发展系数、灰色控制参数;

rand(0,1)表示从均匀分布中采样的随机数,其范围为[0,1];

S204,依次对 的每个维度进行探索,设在第j维探索中一共有m次迭代,在第t次迭代中,根据一个自适应搜索步长sj生成两个候选测试用例v1,v2,包括:t

sj=(Upj‑Lowj)·0.5 ,t=1,2,...,m;

基于二分查找的思想,sj会从sj=(Upj‑Lowj)·0.5迭代性减少到一个预设的阈值,即经过m次迭代后,sj等于预设的阈值;除了第j维外,v1,v2和 的其他维度均相同。

4.根据权利要求3所述的方法,其特征在于,在步骤S204中,若候选测试用例第j维的值vk,j跳出约束[Lowj,Upj],通过以下方程重新分配vk,j值:

5.根据权利要求3所述的方法,其特征在于,所述步骤S2还包括:S205,在GPE‑ISS算法的每次迭代中,基于贪婪选择机制去更新测试用例 包括;

对于给定的适应度函数f(x),在测试用例 测试用例v1和测试用例v2中选择适应度函数值最优的测试用例更新 v1,v2和 只有在第j维不同,此过程表达为如下表达式:t

其中, ξ为p的分支谓词个数;ε是一个较小的常数,以避免分母为t t

零; 是x在p的j个分支节点的分支距离,p表示当前目标路径;

t

当前目标路径p被新产生的测试用例覆盖时,首选与当前目标路径更相似的一个未覆盖路径作为下一个目标路径;设未覆盖路径集为 则目标路径的选择可由下式表示:

其中AL表示两条路径之间不匹配的分支谓词的数量,AL值越小说明这两条路径越相似;v表示未覆盖集合中的路径数。

6.根据权利要求1所述的方法,其特征在于,所述步骤S4包括:基于新生成的测试用例集,驱动被测程序运行,记录被测程序的运行结果并更新路径覆盖信息;如果覆盖了当前的目标路径,则从目标路径集中的未覆盖路径的集合中选择一条未覆盖路径作为下一个目标路径。

7.根据权利要求5所述的方法,其特征在于,所述步骤S5中,计算测试用例的适应度函数值,从当前迭代产生的测试用例和上一次迭代保留下来的测试用例中选取适应度函数值最优的测试用例进行下一轮的迭代,包括:通过比较当前迭代产生的测试用例 和上一次迭代保留下来的测试用例 的适应度函数值,将适应度函数值最优的测试用例保留到下一轮迭代,该过程由以下公式表示:

8.一种基于改进的灰色预测演化算法的测试用例生成系统,其特征在于,包括:静态分析模块,用于对被测程序进行静态分析,得到被测程序的目标路径集和静态结构信息;

测试用例集生成模块,基于所述目标路径集和静态结构信息,执行GPE‑ISS算法产生新的测试用例集;

测试程序运行模块,将生成的新的测试用例集作为被测程序的输入,并驱动被测程序运行;

路径更新模块,记录被测程序的运行结果,并使用运行结果更新路径覆盖信息;

确定模块,计算测试用例的适应度函数值,从当前迭代产生的测试用例和上一次迭代保留下来的测试用例中确定适应度函数值最优的测试用例进行下一轮的迭代;

判断模块,重复执行测试程序运行模块、路径更新模块和确定模块,直到迭代算法满足终止条件,即生成覆盖被测程序所有目标路径的所有测试用例或者达到所给定的最大测试用例数。

9.一种电子设备,其特征在于,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现如权利要求1‑7任一项所述的一种基于改进的灰色预测演化算法的测试用例生成方法的步骤。

10.一种计算机可读存储介质,其特征在于,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现如权利要求1‑7任一项所述的一种基于改进的灰色预测演化算法的测试用例生成方法的步骤。