System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种测试用例补全方法及装置制造方法及图纸_技高网

一种测试用例补全方法及装置制造方法及图纸

技术编号:40821380 阅读:4 留言:0更新日期:2024-04-01 14:40
本申请实施例提供一种测试用例补全方法及装置,应用在测试技术领域,包括:分别采集同一软件在生产环境下运行的第一代码路径集合和在测试环境下运行的第二代码路径集合;任一代码路径集合中包括至少一个代码路径;分别对第一代码路径集合和第二代码路径集合中的代码路径进行降维处理,得到第一子路径集合和第二子路径集合;基于第一代码子路径集合和第二代码子路径集合,得到缺失代码路径;将缺失代码路径和第二代码路径集合中的任一代码路径进行相似度计算,得到符合相似度要求的参照代码路径;基于参照代码路径对应的测试用例,得到补全的测试用例。辅助测试人员对缺失的测试场景进行补充,同时保证了测试用例的覆盖率和测试的有效性。

【技术实现步骤摘要】

本专利技术实施例涉及测试,尤其涉及一种测试用例补全方法及装置


技术介绍

1、在软件开发中,自动化测试是保证软件质量和稳定性的重要手段。自动化测试的一个关键目标是提高测试覆盖率,即确保测试用例能够覆盖软件代码中的尽可能多的路径和分支,从而发现潜在的缺陷和错误。

2、由于现代软件的复杂性和规模,现有的测试方案一般采用是路径覆盖和条件覆盖。路径覆盖遍历所有的路径分支,但是存在路径太多,而测试过程又涉及时间成本和业务成本的限制,导致无法实现对每一个路径进行测试。条件覆盖的目标是确保测试用例覆盖了代码中的所有分支,但由于不关注分支之间可能存在的联系,会遗漏分支间关系相关测试场景。

3、因此,如何兼顾自动化测试案例覆盖率和测试的有效性的同时,还能降低自动化测试场景的补充难度。


技术实现思路

1、本申请实施例提供了一种自动化测试场景补全方法及装置,用于对缺失的测试场景进行补充。

2、第一方面,本申请实施例提供了一种测试用例补全方法,包括:

3、分别采集同一软件在生产环境下运行得到的第一代码路径集合和在测试环境下运行测试用例得到的第二代码路径集合;任一代码路径集合中包括至少一个代码路径;

4、分别对所述第一代码路径集合和所述第二代码路径集合中的代码路径进行降维处理,得到所述第一代码路径集合对应的的第一子路径集合和所述第二代码路径集合对应的第二子路径集合;所述降维处理为基于函数方法为划分基准,对任一代码路径进行划分得到至少一个子路径;p>

5、基于所述第一代码子路径集合和所述第二代码子路径集合,得到缺失代码路径;

6、针对任一缺失代码路径,将所述缺失代码路径和所述第二代码路径集合中的任一代码路径进行相似度计算,得到符合相似度要求的参照代码路径;基于所述参照代码路径对应的测试用例,得到补全的测试用例。

7、本申请对比生产环境和测试环境的代码路径的覆盖率,通过对代码路径去噪,解决现有方案存在的路径爆炸的问题,同时也避免了条件分支覆盖率遗漏测试场景的问题;并通过相似代码路径推荐算法解决现有方案中,复杂代码路径分析成本高,难以转换为对应测试用例的问题,通过本申请可以辅助测试人员对缺失的测试场景进行补充。

8、可选地,所述分别采集同一软件在生产环境下运行得到的第一代码路径集合和在测试环境下运行测试用例得到的第二代码路径集合,包括:

9、在任一代码路径采集过程中,若检测到循环语句路径标记且当前采集的子路径为当前代码路径中已记录的子路径,则所述当前采集的子路径不记入所述当前代码路径中;或

10、对所述第一代码路径集合和/或所述第二代码路径集合中的代码路径进行循环子路径简化处理,得到更新后的第一代码路径集合和/或第二代码路径集合;其中,循环子路径简化处理为删除任一代码路径中重复的循环子路径。

11、通过代码路径降维,解决现有方案中代码路径爆炸的问题,同时也避免了条件分支覆盖率遗漏测试场景的问题。

12、可选地,所述分别对所述第一代码路径集合和所述第二代码路径集合中的代码路径进行降维处理之前,还包括:

13、对所述第一代码路径集合和/或所述第二代码路径集合中的代码路径进行路径聚合处理,得到更新后的第一代码路径集合和/或第二代码路径集合;其中,路径聚合处理为对同一代码集合中属于同一代码场景下的多个代码路径,按线程标识进行路径节点聚合后归一为同一代码路径。

14、可选地,所述降维处理为基于函数方法为划分基准,对任一代码路径进行划分得到至少一个子路径,包括:针对任一代码路径,将所述代码路径中属于同一函数方法的连续n个路径节点作为一个子路径,n为大于等于1的正整数;或

15、针对任一代码路径,将所述代码路径中属于m个连续函数方法的连续n个路径节点作为一个子路径,m为大于1的正整数。

16、本方案通过条件覆盖的思路,对原始的复杂代码路径进行降维,拆分成多个代码子路径,子路径由同一函数方法内有关联的多个分支组成。通过补层层降维子路径的方式,解决了分支覆盖率忽略路径多样性,导致测试场景不全的问题,也解决了原始复杂代码路径数量爆炸导致的冗余案例多,资源浪费的问题,同时平衡了测试效率和测试质量。

17、可选地,得到所述第一代码路径集合对应的的第一子路径集合和所述第二代码路径集合对应的第二子路径集合,包括:

18、对所述第一代码路径集合中的各代码路径对应的子路径取并集,得到第一子路径集合;

19、对所述第二代码路径集合中的各代码路径对应的子路径取并集,得到第二子路径集合;

20、基于所述第一代码子路径集合和所述第二代码子路径集合,得到缺失代码路径,包括:

21、将属于所述第一代码子路径集合但不属于所述第二代码子路径集合中的子路径,作为缺失代码路径。

22、可选地,所述将所述缺失代码路径和所述第二代码路径集合中的任一代码路径进行相似度计算,得到符合相似度要求的参照代码路径,包括:

23、判断所述缺失代码路径转换为所述第二代码路径集合中任一代码路径的编辑距离,将最小编辑距离对应的代码路径作为参照代码路径。

24、本方案基于缺失代码路径推荐现有相似代码路径的案例,也降低了测试用例补充难度,提高了实际应用中的可行性。

25、可选地,代码路径中相邻两个节点的连线为一个分支;

26、所述将所述缺失代码路径和所述第二代码路径集合中的任一代码路径进行相似度计算,得到符合相似度要求的参照代码路径,包括:

27、结合所述缺失代码路径和所述第二代码路径集合中任一代码路径在分支相似度、分支位于代码路径中的位置、路径节点所属函数方法的重要性进行相似度计算,将最高相似值的代码路径作为参照代码路径。

28、第二方面,本申请实施例提供了一种测试用例补全装置,包括:

29、采集模块,用于分别采集同一软件在生产环境下运行得到的第一代码路径集合和在测试环境下运行测试用例得到的第二代码路径集合;任一代码路径集合中包括至少一个代码路径;

30、处理模块,用于分别对所述第一代码路径集合和所述第二代码路径集合中的代码路径进行降维处理,得到所述第一代码路径集合对应的的第一子路径集合和所述第二代码路径集合对应的第二子路径集合;所述降维处理为基于函数方法为划分基准,对任一代码路径进行划分得到至少一个子路径;

31、所述处理模块,还用于基于所述第一代码子路径集合和所述第二代码子路径集合,得到缺失代码路径;

32、所述处理模块,还用于针对任一缺失代码路径,将所述缺失代码路径和所述第二代码路径集合中的任一代码路径进行相似度计算,得到符合相似度要求的参照代码路径;基于所述参照代码路径对应的测试用例,得到补全的测试用例。

33、本申请对比生产环境和测试环境的代码路径的覆盖率,通过对代码路径去噪,解决现有方案存在的路径爆炸的问题,同本文档来自技高网...

【技术保护点】

1.一种测试用例补全方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述分别采集同一软件在生产环境下运行得到的第一代码路径集合和在测试环境下运行测试用例得到的第二代码路径集合,包括:

3.如权利要求1所述的方法,其特征在于,所述分别对所述第一代码路径集合和所述第二代码路径集合中的代码路径进行降维处理之前,还包括:

4.如权利要求1所述的方法,其特征在于,所述降维处理为基于函数方法为划分基准,对任一代码路径进行划分得到至少一个子路径,包括:

5.如权利要求4所述的方法,其特征在于,得到所述第一代码路径集合对应的第一子路径集合和所述第二代码路径集合对应的第二子路径集合,包括:

6.如权利要求1至5任一项所述的方法,其特征在于,所述将所述缺失代码路径和所述第二代码路径集合中的任一代码路径进行相似度计算,得到符合相似度要求的参照代码路径,包括:

7.如权利要求1至5任一项所述的方法,其特征在于,所述代码路径中相邻两个节点的连线为一个分支;

8.一种测试用例补全装置,其特征在于,包括:p>

9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~6任一所述方法的步骤。

10.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~6任一所述方法的步骤。

...

【技术特征摘要】

1.一种测试用例补全方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述分别采集同一软件在生产环境下运行得到的第一代码路径集合和在测试环境下运行测试用例得到的第二代码路径集合,包括:

3.如权利要求1所述的方法,其特征在于,所述分别对所述第一代码路径集合和所述第二代码路径集合中的代码路径进行降维处理之前,还包括:

4.如权利要求1所述的方法,其特征在于,所述降维处理为基于函数方法为划分基准,对任一代码路径进行划分得到至少一个子路径,包括:

5.如权利要求4所述的方法,其特征在于,得到所述第一代码路径集合对应的第一子路径集合和所述第二代码路径集合对应的第二子路径集合,包括:

6.如权利要求1...

【专利技术属性】
技术研发人员:曾凌子
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1