基于智能算法的软件自动化测试计划自动生成方法及系统与流程

文档序号:36339466发布日期:2023-12-13 18:45阅读:53来源:国知局
基于智能算法的软件自动化测试计划自动生成方法及系统与流程

本技术涉及计算机,尤其涉及一种基于智能算法的软件自动化测试计划自动生成方法及系统。


背景技术:

1、随着互联网技术的发展,软件的规模越来越大,软件内部的结构和逻辑越来越复杂,同时也为软件的测试带来了极大的挑战,在对软件进行测试时需要设计软件的测试计划,而传统方法通常需要测试人员对测试计划进行编写,这依赖于测试人员的经验和知识,容易受主观因素干扰,且效率较低。


技术实现思路

1、本技术实施例提供一种基于智能算法的软件自动化测试计划自动生成方法及系统,以解决上述背景技术中提到的问题。

2、第一方面,本技术提供一种基于智能算法的软件自动化测试计划自动生成方法,包括:

3、获取待测试软件代码,并通过软件运行平台运行所述待测试软件代码,及基于所述软件运行平台对所述待测试软件代码的运行结果生成所述待测试软件代码的状态树;所述状态树为包括一个根节点和若干个叶节点的节点关系树;

4、基于所述状态树生成条件测试族群,其中,所述条件测试族群中包括多个目标条件测试种族,每个所述目标条件测试种族包括至少一个测试个体,各个所述目标条件测试种族的测试逻辑互不相同;

5、针对每个所述目标条件测试种族,基于所述目标条件测试种族的测试逻辑在预设的测试用例库中获取与所述目标条件测试种族匹配的初始测试用例,并基于所述目标条件测试种族和所述初始测试用例获取目标测试用例集;

6、基于所述状态树和所有所述目标测试用例集生成所述待测试软件代码的测试计划。

7、在一种可能的实现方式中,所述基于所述软件运行平台对所述待测试软件代码的运行结果生成所述待测试软件代码的状态树,包括:

8、基于所述软件运行平台对所述待测试软件代码的运行结果生成所述待测试软件代码的初始状态树;

9、针对所述初始状态树的每个分支,判断所述分支上是否存在完全相同的叶节点;

10、若所述分支上存在完全相同的叶节点,基于所述待测试软件代码对所述分支进行调整,得到所述状态树。

11、在一种可能的实现方式中,所述基于所述待测试软件代码对所述分支进行调整,包括:

12、基于所述待测试软件代码获取所述分支对应的软件代码,并在所述软件运行平台上运行所述分支对应的软件代码,得到所述分支对应的标准分支;

13、基于所述标准分支对所述分支进行调整。

14、在一种可能的实现方式中,所述基于所述状态树生成条件测试族群,包括:

15、基于所述状态树获取多个逻辑组合;其中,每个所述逻辑组合包括一个一级节点、至少一个二级节点及所述一级节点与所述二级节点之间的逻辑关系,所述一级节点为所述根节点或所述叶节点,所述二级节点为所述叶节点;

16、将各个所述逻辑组合分别输入预设的逻辑组合特征提取模型,得到各个所述逻辑组合对应的逻辑组合特征向量;

17、基于所有所述逻辑组合特征向量生成所述条件测试族群。

18、在一种可能的实现方式中,所述基于所有所述逻辑组合特征向量生成所述条件测试族群,包括:

19、针对每个所述逻辑组合特征向量,分别计算所述逻辑组合特征向量与其余的每个所述逻辑组合特征向量之间的相似度,并分别将每个所述相似度与预设相似度进行比较,及在若所述相似度大于所述预设相似度时,提取所述相似度对应的逻辑组合,同时基于提取的所有所述逻辑组合生成一个条件测试种族;所述条件测试种族中的测试个体为所述逻辑组合;

20、在所有所述条件测试种族中,删除重复的条件测试种族,得到多个中间目标条件测试种族;

21、针对每个所述逻辑组合,检查所述逻辑组合是否存在于至少两个所述中间目标条件测试种族中,并在若所述逻辑组合存在于至少两个所述中间目标条件测试种族中时,提取包括所述逻辑组合的所述中间目标条件测试种族,同时分别计算所述逻辑组合在提取的每个所述中间目标条件测试种族中对应的权重系数,及在最大的权重系数对应的所述中间目标条件测试种族中保留所述逻辑组合,同时删除其余的权重系数对应的所述中间目标条件测试种族中的所述逻辑组合,得到目标条件测试种族;

22、基于所有所述目标条件测试种族得到所述条件测试族群。

23、在一种可能的实现方式中,所述基于所述目标条件测试种族的测试逻辑在预设的测试用例库中获取与所述条件测试种族匹配的初始测试用例,包括:

24、基于所述目标条件测试种族中的测试个体获取所述目标条件测试种族的测试逻辑,并获取所述测试逻辑与所述测试用例库内的每个测试用例的关联度;

25、将最大的关联度对应的所述测试用例库内的测试用例作为所述初始测试用例。

26、在一种可能的实现方式中,所述基于所述目标条件测试种族和所述初始测试用例获取目标测试用例集,包括:

27、针对所述目标条件测试种族中的每个测试个体,基于所述待测试软件代码获取所述测试个体对应的软件代码,并获取所述初始测试用例对应的软件代码,将所述测试个体对应的软件代码和所述初始用例对应的软件代码进行比对,以得到所述测试个体对应的软件代码和所述初始测试用例对应的软件代码之间的区别特征,及基于所述区别特征对所述初始测试用例进行修正,得到所述测试个体对应的目标测试用例;

28、基于所有所述目标测试用例生成所述目标测试用例集。

29、第二方面,本技术提供一种基于智能算法的软件自动化测试计划自动生成系统,包括:

30、第一获取模块,用于获取待测试软件代码,并通过软件运行平台运行所述待测试软件代码,及基于所述软件运行平台对所述待测试软件代码的运行结果生成所述待测试软件代码的状态树;所述状态树为包括一个根节点和若干个叶节点的节点关系树;

31、第一生成模块,用于基于所述状态树生成条件测试族群,其中,所述条件测试族群中包括多个目标条件测试种族,每个所述目标条件测试种族包括至少一个测试个体,各个所述目标条件测试种族的测试逻辑互不相同;

32、第二获取模块,用于针对每个所述目标条件测试种族,基于所述目标条件测试种族的测试逻辑在预设的测试用例库中获取与所述目标条件测试种族匹配的初始测试用例,并基于所述目标条件测试种族和所述初始测试用例获取目标测试用例集;

33、第二生成模块,用于基于所述状态树和所有所述目标测试用例集生成所述待测试软件代码的测试计划。

34、本技术提供了一种基于智能算法的软件自动化测试计划自动生成方法及系统,其中,该方法包括获取待测试软件代码,并通过软件运行平台运行所述待测试软件代码,及基于所述软件运行平台对所述待测试软件代码的运行结果生成所述待测试软件代码的状态树;所述状态树为包括一个根节点和若干个叶节点的节点关系树;基于所述状态树生成条件测试族群,其中,所述条件测试族群中包括多个目标条件测试种族,每个所述目标条件测试种族包括至少一个测试个体,各个所述目标条件测试种族的测试逻辑互不相同;针对每个所述目标条件测试种族,基于所述目标条件测试种族的测试逻辑在预设的测试用例库中获取与所述目标条件测试种族匹配的初始测试用例,并基于所述目标条件测试种族和所述初始测试用例获取目标测试用例集;基于所述状态树和所有所述目标测试用例集生成所述待测试软件代码的测试计划。采用该方法,一方面,能够提高所述测试计划的全面性,以实现通过所述测试计划对所述待测试软件进行全面地检测,从而提高对所述待测试软件进行检测时的检测精度,另一方面,能够提高软件测试计划的生成效率,从而提高软件测试的效率。

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