一种测试用例集生成方法、装置、设备及存储介质与流程

文档序号:35778439发布日期:2023-10-21 13:28阅读:26来源:国知局
一种测试用例集生成方法、装置、设备及存储介质与流程

本技术涉及软件测试,具体涉及一种测试用例集生成方法、装置、设备及存储介质。


背景技术:

1、测试用例是指对一项特定的软件产品进行测试任务的描述。对于任意一个测试任务,对应多个测试用例,然而在实际测试过程中,不同的测试顺序,其测试效果不同,而且可能不需要利用所有测试用例进行测试即可完成测试任务,因此如何从多个测试用例中确定最优的测试用例集是亟待解决的问题。

2、差分进化算法是一种基于群体差异的启发式随机搜索算法,也属于全局优化算法,在求解全局最优解的问题上被广泛应用。但是目前的差分进化算法在迭代的过程中,容易出现由于种群的多样性降低造成的陷入局部最优,以及收敛性能低的问题。


技术实现思路

1、本技术实施例提供了一种测试用例集生成方法、装置、设备及存储介质,能够快速得到准确的测试用例集。

2、第一方面,本技术实施例提供了一种测试用例集生成方法,所述方法包括:

3、获取与目标测试任务关联的多个测试用例的标识向量,并基于得到的多个标识向量生成待处理向量集;

4、重复执行如下步骤:

5、从待处理向量集中,选择适用度小于第一预设阈值的至少一个候选标识向量;所述适用度用于表征所述候选标识向量对应的测试用例适用的测试任务的数量;

6、根据所述至少一个候选标识向量,以及待处理向量集中的每个标识向量的控制参数,确定所述待处理向量集对应的交叉向量集;

7、将所述交叉向量集与待处理向量集进行对比,并根据对比结果对待处理向量集中包含的标识向量进行调整,得到下一轮迭代的待处理向量集;

8、若下一轮迭代待处理向量集的多样性值大于下一轮迭代的多样性概率阈值,则根据当前一轮迭代的至少一个候选标识向量的控制参数,对所述下一轮迭代的待处理向量集中适用度大于第二预设阈值的标识向量的控制参数进行调整,得到下一轮迭代的待处理向量集中每个标识向量的控制参数;

9、直至迭代次数达到预设次数为止,将当前的待处理向量集作为目标标识向量集;

10、基于所述目标标识向量集内包含的标识向量对应的测试用例,生成目标测试用例集。

11、在一种可能的实施方式中,所述根据所述至少一个候选标识向量,以及待处理向量集中的每个标识向量的控制参数,确定所述待处理向量集对应的交叉向量集,包括:

12、从所述至少一个候选标识向量中随机选取一个标识向量作为目标候选标识向量;

13、基于所述目标候选标识向量、所述待处理向量集中的每个标识向量、以及每个标识向量的权重和放缩率,确定所述待处理向量集对应的变异向量集;

14、基于所述变异向量集和所述待处理向量集中每个标识向量的交叉概率,通过交叉操作得到所述待处理向量集对应的交叉向量集。

15、在一种可能的实施方式中,所述基于所述目标候选标识向量、所述待处理向量集中的每个标识向量、以及每个标识向量的权重和放缩率,确定所述待处理向量集对应的变异向量集,包括:

16、利用公式vi=ω·xi+f·(elitex-xi)+f·(xr1-xr2),分别确定所述待处理向量集中每个标识向量对应的变异向量;其中,vi表示第i个标识向量对应的第i个变异向量,ω表示第i个标识向量的权重,xi表示所述待处理向量集中第i个标识向量,elitex表示目标候选标识向量,f表示第i个标识向量的放缩率,xr1表示所述待处理向量集中第r1个标识向量,xr2表示所述待处理向量集中第r2个标识向量;

17、基于每个标识向量对应的变异向量,确定所述变异向量集。

18、在一种可能的实施方式中,所述当前一轮迭代的多样性概率阈值通过如下方式确定:

19、从所述至少一个候选标识向量的适用度中,选择最大适用度;

20、根据所述最大适用度与所述待处理向量集中标识向量的平均适应度的差值,作为所述当前一轮迭代的多样性概率阈值。

21、在一种可能的实施方式中,所述根据当前一轮迭代的至少一个候选标识向量的控制参数,对所述下一轮迭代的待处理向量集中适用度大于第二预设阈值的标识向量的控制参数进行调整,包括:

22、利用公式分别确定所述下一轮迭代的待处理向量集中适用度大于第二预设阈值的每个标识向量的控制参数

23、其中,g+1表示下一轮迭代;i表示适用度大于第二预设阈值的第i个标识向量,g表示当前一轮迭代;为当前一轮迭代第i个标识向量的控制参数,elitecpg为当前一轮迭代中所述至少一个候选标识向量的控制参数的加和,mean表示对所述加和取平均,r为第一预设系数。

24、在一种可能的实施方式中,所述方法还包括:

25、若下一轮迭代待处理向量集的多样性值不大于下一轮迭代的多样性概率阈值,则根据预设的控制参数取值范围的上限和下限,对所述下一轮迭代的待处理向量集中适用度大于第二预设阈值的标识向量的控制参数进行调整,得到下一轮迭代的待处理向量集中每个标识向量的控制参数。

26、在一种可能的实施方式中,所述根据预设的控制参数取值范围的上限和下限,对所述下一轮迭代的待处理向量集中适用度大于第二预设阈值的标识向量的控制参数进行调整,包括:

27、利用公式分别确定下一轮迭代的待处理向量集中适用度大于第二预设阈值的每个标识向量的控制参数

28、其中,g+1表示下一轮迭代;i表示适用度大于第二预设阈值的第i个标识向量;r为第二预设系数,cpu为控制参数取值范围的上限,cpl为控制参数取值范围的下限。

29、第二方面,本技术实施例提供了一种测试用例集生成装置,所述装置包括:

30、获取模块,用于获取与目标测试任务关联的多个测试用例的标识向量,并基于得到的多个标识向量生成待处理向量集;

31、迭代模块,用于重复执行如下步骤:

32、从待处理向量集中,选择适用度小于第一预设阈值的至少一个候选标识向量;所述适用度用于表征所述候选标识向量对应的测试用例适用的测试任务的数量;

33、将所述交叉向量集与待处理向量集进行对比,并根据对比结果对待处理向量集中包含的标识向量进行调整,得到下一轮迭代的待处理向量集;

34、若下一轮迭代待处理向量集的多样性值大于下一轮迭代的多样性概率阈值,则根据当前一轮迭代的至少一个候选标识向量的控制参数,对所述下一轮迭代的待处理向量集中适用度大于第二预设阈值的标识向量的控制参数进行调整,得到下一轮迭代的待处理向量集中每个标识向量的控制参数;

35、生成模块,用于直至迭代次数达到预设次数为止;将当前的待处理向量集作为目标标识向量集;基于所述目标标识向量集内包含的标识向量对应的测试用例,生成目标测试用例集。

36、第三方面,本技术实施例提供了一种测试用例集生成设备,所述设备包括:

37、至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面的方法。

38、第四方面,本技术实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机执行上述第一方面的方法。

39、本技术实施例提供了一种测试用例集生成方法、装置、设备及存储介质,若当前种群(待处理向量集)呈现良好的多样性,则根据上一轮迭代的至少一个候选标识向量的控制参数,对所述下一轮迭代的待处理向量集中适用度大于第二预设阈值的标识向量的控制参数进行调整;即保持当前控制参数向择优个体参数学习,这有利于更快收敛到全局最优值;另外,本技术实施例在差分进化算法的变异步骤,采用了择优变异策略,即从待处理向量集中,选择适用度小于第一预设阈值的至少一个候选标识向量,既增大了搜索范围,又进一步保证了算法的收敛性能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1