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

一种测试范围的确定方法、装置、电子设备及存储介质制造方法及图纸

技术编号:40578986 阅读:4 留言:0更新日期:2024-03-06 17:21
本申请公开了一种测试范围的确定方法、装置、电子设备及存储介质,涉及自动化测试技术领域。其中,该方法包括:确定应用系统中待测试的目标功能;解析应用系统的源程序得到应用系统中各服务之间方法级的调用链矩阵;基于调用链矩阵确定目标功能的测试范围。本申请提供的技术方案,对于划定测试范围提供代码层面的科学合理的保障,可以降低个人能力对测试范围分析结果的影响,可以准确地得到待测试功能的测试范围。

【技术实现步骤摘要】

本申请涉及自动化测试,尤其涉及一种测试范围的确定方法、装置、电子设备及存储介质


技术介绍

1、在对应用系统进行功能测试过程中,科学合理划定功能测试的测试范围,是保障测试充分性的重要环节。微服务在应用系统设计中优势明显,随着微服务数量不断增加使得服务间的调用关系越来越复杂。

2、目前通常是测试人工基于对业务需求书的理解来逐条梳理功能点,以及开发人员所反馈的关联影响分析来确定测试范围,如果业务需求书不完善或者依赖人工的范围梳理有遗漏,容易造成测试不充分的现象;应用系统规模越大、程序间调用关系越复杂,测试范围分析的难度就越高,容易遗漏测试要点,造成缺陷逃逸。总体而言,功能测试的测试范围划定更多偏向于业务层面的理解,或依赖于开发人员对应用系统设计的熟悉程度,采用这种方法所确定的测试范围容易产生测试遗漏、范围划定不充分的风险。


技术实现思路

1、本申请提供了一种测试范围的确定方法、装置、电子设备及存储介质,对于划定测试范围提供代码层面的科学合理的保障,可以降低个人能力对测试范围分析结果的影响,可以准确地得到待测试功能的测试范围。

2、第一方面,本申请提供了一种测试范围的确定方法,该方法包括:

3、确定应用系统中待测试的目标功能;

4、解析所述应用系统的源程序得到所述应用系统中各服务之间方法级的调用链矩阵;

5、基于所述调用链矩阵确定所述目标功能的测试范围。

6、进一步的,所述基于所述调用链矩阵确定所述目标功能的测试范围,包括:确定所述目标功能的服务依赖度和服务粒度;基于所述服务依赖度和服务粒度确定所述目标功能的调用深度参数;基于所述调用深度参数从所述调用链矩阵中确定出所述目标功能对应的调用子矩阵;在所述源程序中确定出所述调用子矩阵所在的代码分支;将所述代码分支确定为所述目标功能的测试范围。

7、进一步的,所述基于所述调用深度参数从所述调用链矩阵中确定出所述目标功能对应的调用子矩阵,包括:确定所述目标功能中所包含的至少一个方法块;基于所述调用深度参数确定所述方法块对应的调用方法块列表;基于所述方法块和所述调用方法块列表从所述调用链矩阵中确定出所述调用子矩阵。

8、进一步的,所述调用深度参数用于表示所述目标功能在所述调用链矩阵中调用深度的层数;所述基于所述调用深度参数确定所述方法块对应的调用方法块列表,包括:针对当前层调用深度,在所述调用链矩阵中确定出所述至少一个方法块各自对应的调用方法块;遍历完每层调用深度,得到每层调用深度对应的调用方法块,从而得到所述目标功能对应的调用方法块列表。

9、进一步的,所述解析所述应用系统的源程序得到所述应用系统中各服务之间方法级的调用链矩阵,包括:解析所述源程序得到所述源程序所包含的多个包中每个包对应的类变量列表和函数内变量列表;确定所述类变量列表中每个类变量的调用关系,确定所述函数内变量列表中每个函数内变量的调用关系,从而得到所述每个包的调用关系;基于所述多个包中每个包的调用关系,得到所述应用系统的调用链矩阵。

10、进一步的,当所述目标功能为新增功能或优化功能时,所述基于所述调用链矩阵确定所述目标功能的测试范围,包括:确定第一应用系统的源程序对应的第一调用链矩阵;所述第一应用系统为对所述应用系统添加所述新增功能或所述优化功能之后的应用系统;确定所述第一调用链矩阵与所述调用链矩阵之间的调用关系差异;在所述源程序中确定出所述调用关系差异所在的第一代码分支;将所述第一代码分支确定为所述新增功能或所述优化功能的测试范围。

11、进一步的,所述方法还包括:基于所述测试范围对所述目标功能进行测试得到测试结果。

12、第二方面,本申请提供了一种测试范围的确定装置,该装置包括:

13、目标功能确定模块,用于确定应用系统中待测试的目标功能;

14、调用关系确定模块,用于解析所述应用系统的源程序得到所述应用系统中各服务之间方法级的调用链矩阵;

15、测试范围确定模块,用于基于所述调用链矩阵确定所述目标功能的测试范围。

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

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

18、为了解决
技术介绍
中现有技术的缺陷,本申请实施例提供了一种测试范围的确定方法,执行该方法能够带来以下有益效果:本申请通过解析应用系统的源程序形成稳定可依赖的方法级调用链矩阵,对于划定测试范围提供代码层面的科学合理的保障,可以降低个人能力对测试范围分析结果的影响;通过合理量化目标功能的调用深度,在调用链矩阵中确定出目标功能的测试范围,可以避免依据人工对需求书的理解所划分测试范围造成测试范围遗漏和不充分的问题,可以准确地得到待测试功能的测试范围,进而可以提升应用系统的测试质量。

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

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

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

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

本文档来自技高网...

【技术保护点】

1.一种测试范围的确定方法,其特征在于,所述方法包括:

2.根据权利要求1所述的测试范围的确定方法,其特征在于,所述基于所述调用链矩阵确定所述目标功能的测试范围,包括:

3.根据权利要求2所述的测试范围的确定方法,其特征在于,所述基于所述调用深度参数从所述调用链矩阵中确定出所述目标功能对应的调用子矩阵,包括:

4.根据权利要求3所述的测试范围的确定方法,其特征在于,所述调用深度参数用于表示所述目标功能在所述调用链矩阵中调用深度的层数;所述基于所述调用深度参数确定所述方法块对应的调用方法块列表,包括:

5.根据权利要求1所述的测试范围的确定方法,其特征在于,所述解析所述应用系统的源程序得到所述应用系统中各服务之间方法级的调用链矩阵,包括:

6.根据权利要求1所述的测试范围的确定方法,其特征在于,当所述目标功能为新增功能或优化功能时,所述基于所述调用链矩阵确定所述目标功能的测试范围,包括:

7.根据权利要求1所述的测试范围的确定方法,其特征在于,所述方法还包括:

8.一种测试范围的确定装置,其特征在于,所述装置包括:

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

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

...

【技术特征摘要】

1.一种测试范围的确定方法,其特征在于,所述方法包括:

2.根据权利要求1所述的测试范围的确定方法,其特征在于,所述基于所述调用链矩阵确定所述目标功能的测试范围,包括:

3.根据权利要求2所述的测试范围的确定方法,其特征在于,所述基于所述调用深度参数从所述调用链矩阵中确定出所述目标功能对应的调用子矩阵,包括:

4.根据权利要求3所述的测试范围的确定方法,其特征在于,所述调用深度参数用于表示所述目标功能在所述调用链矩阵中调用深度的层数;所述基于所述调用深度参数确定所述方法块对应的调用方法块列表,包括:

5.根据权利要求1所述的测试范围的确定方法,其特征在于,所述解析所述应用...

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

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

1