System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 测试用例有效性的检测方法、装置、电子设备及存储介质制造方法及图纸_技高网

测试用例有效性的检测方法、装置、电子设备及存储介质制造方法及图纸

技术编号:40544038 阅读:3 留言:0更新日期:2024-03-05 19:00
本申请公开了一种测试用例有效性的检测方法、装置、电子设备及存储介质,涉及自动化测试技术领域。其中,该方法包括:获取应用系统的源程序和测试用例集,生成源程序对应的多个变异程序;在多个变异程序的每个变异程序下运行测试用例集得到每个变异程序相对于源程序的程序变异类型;基于每个变异程序对应的程序变异类型确定测试用例集的有效性。本申请提供的技术方案,可以确定测试用例的缺陷检测能力,可以帮助测试人员改进和优化测试用例集,进而可以提高测试用例的质量。

【技术实现步骤摘要】

本申请涉及自动化测试,尤其涉及一种测试用例有效性的检测方法、装置、电子设备及存储介质


技术介绍

1、在对应用系统进行功能及性能测试过程中,通常需要大量的测试用例才能对应用系统进行全面地测试,测试用例的数量甚至可以达到几千个,如此多的测试用例需要花费大量时间和资源去运行。但是,这些测试用例真的能发现应用程序中全部缺陷吗?如果删除一部分测试用例会不会就发现不了应用程序的缺陷呢?因而,测试用例的有效性非常重要。

2、功能及性能测试过程中,希望一组测试用例集不仅能够“触发被测代码的各种分支”,还能够做好结果校验;当业务代码出现问题的时候,测试用例可以发现这个问题,那么就认为这一组测试用例是有效的;反之,测试用例没能发现这个问题,那么就认为这一组测试用例是无效的。现有技术中通过是采用逻辑覆盖测试和路径覆盖测试方法判断软件测试充分性,分别从程序实体覆盖和路径覆盖的角度来评估软件测试的充分性,然而,这些方法并不能直观的反映测试用例的缺陷检测能力。因此,如何确定测试用例有效性成为了亟待解决的问题。


技术实现思路

1、本申请提供了一种测试用例有效性的检测方法、装置、电子设备及存储介质,可以确定测试用例的缺陷检测能力,可以帮助测试人员改进和优化测试用例集,进而可以提高测试用例的质量。

2、第一方面,本申请提供了一种测试用例有效性的检测方法,该方法包括:

3、获取应用系统的源程序和测试用例集,生成所述源程序对应的多个变异程序;

4、在所述多个变异程序的每个变异程序下运行所述测试用例集得到所述每个变异程序相对于所述源程序的程序变异类型;

5、基于所述每个变异程序对应的程序变异类型确定所述测试用例集的有效性。

6、进一步的,所述在所述多个变异程序的每个变异程序下运行所述测试用例集得到所述每个变异程序相对于所述源程序的程序变异类型,包括:针对当前变异程序,确定所述测试用例集中是否存在任意至少一个测试用例造成所述当前变异程序运行失败;若存在,则确定所述当前变异程序的程序变异类型为非等价变异体;若不存在,则确定所述当前变异程序的程序变异类型为等价变异体;遍历完所述多个变异程序,从而得到所述每个变异程序对应的程序变异类型。

7、进一步的,所述基于所述每个变异程序对应的程序变异类型确定所述测试用例集的有效性,包括:确定所述多个变异程序中所述非等价变异体的第一数量;确定所述第一数量占所述多个变异程序的总数的比值;若所述比值等于1,则确定所述测试用例集的有效性为全部有效。

8、进一步的,所述方法还包括:当所述有效性不是全部有效时,基于所述多个变异程序中的所述等价变异体对所述测试用例集进行补充。

9、进一步的,所述基于所述多个变异程序中的所述等价变异体对所述测试用例集进行补充,包括:确定所述源程序与所述等价变异体之间发生变异的变异代码模块,以指示用户基于所述变异代码模块编写对应的第一测试用例;接收对所述测试用例集的补充操作,将所述第一测试用例补充至所述测试用例集中。

10、进一步的,通过如下方式确定所述源程序和所述测试用例集:获取所述应用系统的初始程序和初始用例集;在所述初始程序下运行所述初始用例集中每个初始用例,以确定出所述初始用例集中是否存在任意至少一个初始用例造成所述初始程序运行失败;若存在,确定运行失败原因,以指示用户基于所述运行失败原因对所述初始程序或所述初始用例进行修改;接收对所述初始程序或所述初始用例的修改操作,重复执行所述在所述初始程序下运行所述初始用例集中每个初始用例的操作,直至所述每个初始用例都使得所述初始程序运行成功,从而得到所述源程序和所述测试用例集。

11、进一步的,所述生成所述源程序对应的多个变异程序,包括:确定所述源程序的程序类型,所述程序类型包括面向过程程序和面向对象程序;确定所述程序类型对应的变异算子;基于所述变异算子对所述源程序进行变异处理,得到所述多个变异程序。

12、第二方面,本申请提供了一种测试用例有效性的检测装置,该装置包括:

13、变异程序生成模块,用于获取应用系统的源程序和测试用例集,生成所述源程序对应的多个变异程序;

14、变异类型确定模块,用于在所述多个变异程序的每个变异程序下运行所述测试用例集得到所述每个变异程序相对于所述源程序的程序变异类型;

15、有效性检测模块,用于基于所述每个变异程序对应的程序变异类型确定所述测试用例集的有效性。

16、第三方面,本申请提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任意实施例所述的测试用例有效性的检测方法。

17、第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本申请任意实施例所述的测试用例有效性的检测方法。

18、为了解决
技术介绍
中现有技术的缺陷,本申请实施例提供了一种测试用例有效性的检测方法,执行该方法能够带来以下有益效果:本申请提供一种可以度量的系统级测试用例缺陷检测能力的方法,通过变异算子生成源程序对应的变异程序,部署变异程序,对变异程序运行测试用例集,通过统计变异程序的测试用例集执行情况,进而确定出测试用例有效性。本申请通过测试用例有效性用于评价测试用例的缺陷检测能力,可以帮助测试人员改进和优化测试用例集,进而可以提高测试用例的质量。

19、需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质上。其中,计算机可读存储介质可以与测试用例有效性的检测装置的处理器封装在一起,也可以与测试用例有效性的检测装置的处理器单独封装,本申请对此不做限定。

20、本申请中第二方面、第三方面以及第四方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面以及第四方面的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。

21、应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其他特征将通过以下的说明书而变得容易理解。

22、可以理解的是,在使用本申请各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本申请所涉及个人信息的类型、使用范围以及使用场景等告知用户并获得用户的授权。

本文档来自技高网...

【技术保护点】

1.一种测试用例有效性的检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的测试用例有效性的检测方法,其特征在于,所述在所述多个变异程序的每个变异程序下运行所述测试用例集得到所述每个变异程序相对于所述源程序的程序变异类型,包括:

3.根据权利要求2所述的测试用例有效性的检测方法,其特征在于,所述基于所述每个变异程序对应的程序变异类型确定所述测试用例集的有效性,包括:

4.根据权利要求3所述的测试用例有效性的检测方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的测试用例有效性的检测方法,其特征在于,所述基于所述多个变异程序中的所述等价变异体对所述测试用例集进行补充,包括:

6.根据权利要求1所述的测试用例有效性的检测方法,其特征在于,通过如下方式确定所述源程序和所述测试用例集:

7.根据权利要求1所述的测试用例有效性的检测方法,其特征在于,所述生成所述源程序对应的多个变异程序,包括:

8.一种测试用例有效性的检测装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,所述电子设备包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1至7中任一所述的测试用例有效性的检测方法。

...

【技术特征摘要】

1.一种测试用例有效性的检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的测试用例有效性的检测方法,其特征在于,所述在所述多个变异程序的每个变异程序下运行所述测试用例集得到所述每个变异程序相对于所述源程序的程序变异类型,包括:

3.根据权利要求2所述的测试用例有效性的检测方法,其特征在于,所述基于所述每个变异程序对应的程序变异类型确定所述测试用例集的有效性,包括:

4.根据权利要求3所述的测试用例有效性的检测方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的测试用例有效性的检测方法,其特征在于,所述基于所述多个变异程序中的所述...

【专利技术属性】
技术研发人员:宋怡王成
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

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

1