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

一种代码测试方法、装置、设备及其存储介质制造方法及图纸

技术编号:44259289 阅读:2 留言:0更新日期:2025-02-14 22:05
本申请实施例属于研发设计技术领域,应用于代码测试场景中,涉及一种代码测试方法、装置、设备及其存储介质,通过接收第一执行指令;启动集成测试工具;筛选出待测试的目标类;遍历目标类中的方法,并生成目标结构的测试索引数据;接收第二执行指令;选择目标测试接口,调用目标测试接口,并从测试索引数据中筛选出待测试方法进行测试。本申请所述代码测试方法,先通过筛选组件对代码中的所有目标类进行筛选,并根据类和方法名称间的关系,生成目标结构的测试索引数据,再通过目标测试接口的接口类型,采用不同的测试方式结合所述测试索引数据对目标代码进行测试,更加科学化和全面化,避免了测试遗漏,尽量保证上线前的测试覆盖率。

【技术实现步骤摘要】

本申请涉及研发设计,应用于代码测试场景中,尤其涉及一种代码测试方法、装置、设备及其存储介质


技术介绍

1、目前各个公司都要求在代码正式投产前都要在测试环境有过执行记录,有执行记录与上线代码总量之比即为代码覆盖率。大部分情况下开发和测试都会按照公司标准执行,但在用户权益系统内,遇到了一定的测试困难。

2、由于用户权益系统面向c端用户,需求复杂多样,免不了需要用到很多工具类的代码,在编写工具类代码时,出于通用性,扩展性考虑,免不了会多写很多方法,这就导致了大量的待测试代码处于工具类中,单纯的采用业务测试方法会存在测试遗漏,不够科学化和合理化,造成代码测试覆盖率较低的问题。


技术实现思路

1、本申请实施例的目的在于提出一种代码测试方法、装置、设备及其存储介质,以解决现有采用业务测试方法会存在测试遗漏,不够科学化和合理化,造成代码测试覆盖率较低的问题。

2、为了解决上述技术问题,本申请实施例提供代码测试方法,采用了如下所述的技术方案:

3、一种代码测试方法,包括下述步骤:

4、接收第一执行指令,其中,所述第一执行指令为启动预设的集成测试工具的指令;

5、基于所述第一执行指令启动所述集成测试工具;

6、调用所述集成测试工具中预设的筛选组件,筛选出待测试的目标类;

7、遍历所述目标类中的方法,并生成目标结构的测试索引数据;

8、接收第二执行指令,其中,所述第二执行指令为目标测试接口选择调用指令;</p>

9、基于所述第二执行指令选择目标测试接口,调用所述目标测试接口,并从所述测试索引数据中筛选出待测试方法进行测试。

10、进一步的,在执行所述基于所述第一执行指令启动所述集成测试工具的步骤之前,所述方法还包括:

11、获取预构建的筛选组件;

12、将预设的第一筛选条件和第二筛选条件作为筛选识别参数配置到所述预构建的筛选组件中,获得所述预设的筛选组件,其中,所述第一筛选条件包括识别目标代码所处类的类名中是否包含目标指定字段,所述第二筛选条件包括识别目标代码所处类的类名处是否具备目标指定注解;

13、预先在所述集成测试工具中配置了唯一的全量型测试接口的接口名称,以及其他非全量型测试接口的接口名称。

14、进一步的,所述调用所述集成测试工具中预设的筛选组件,筛选出待测试的目标类的步骤,具体包括:

15、获取全量测试代码作为所述目标代码;

16、识别所述目标代码分别所处的代码类;

17、根据所述第一筛选条件识别出所有代码类中包含所述目标指定字段的代码类,将所述包含所述目标指定字段的代码类的类名加入到预设的第一集合中以及将不包含所述目标指定字段的代码类的类名加入到预设的第二集合中;

18、根据所述第二筛选条件识别出所述第二集合中所包含的代码类中不包含所述目标指定注解的代码类,将所述不包含所述目标指定注解的代码类的类名加入到所述第一集合中;

19、将所述第一集合中的所有元素分别所对应的代码类作为所述待测试的目标类。

20、进一步的,所述遍历所述目标类中的方法,并生成目标结构的测试索引数据的步骤,具体包括:

21、通过代码遍历方式,遍历所有目标类中分别所包含的方法;

22、根据类名和方法名对应关系,生成<key:value>结构的测试索引数据,其中,key和value分别表示类名和方法名;

23、或者,

24、根据类名和方法名对应关系,生成json数组结构的测试索引数据,其中,类名为所述json数组结构中的json数组名称,方法名为所述json数组结构中的数组元素。

25、进一步的,在执行所述接收第二执行指令的步骤之后,所述方法还包括:

26、解析所述第二执行指令,获取所述第二执行指令中所包含目标测试信息;

27、根据所述目标测试信息,识别出所述目标测试接口的测试接口类型,其中,所述测试接口类型包括全量型测试接口和非全量型测试接口,所述全量型测试接口指对所有目标类中所有方法进行测试,所述非全量型测试接口指仅对所述目标测试信息中的待测试方法所对应的工具类进行测试。

28、进一步的,所述目标测试信息中包含了目标测试接口的接口名称,所述根据所述目标测试信息,识别出所述目标测试接口的测试接口类型的步骤,具体包括:

29、若所述目标测试接口的接口名称为所述全量型测试接口的接口名称,则所述目标测试接口为全量型测试接口;

30、若所述目标测试接口的接口名称非为所述全量型测试接口的接口名称,则所述目标测试接口为非全量型测试接口。

31、进一步的,所述基于所述第二执行指令选择目标测试接口,调用所述目标测试接口,并从所述测试索引数据中筛选出待测试方法进行测试的步骤,包括:

32、若所述目标测试接口为全量型测试接口,则调用预设的全量型测试接口,并通过解析所有测试索引数据,识别出所有待测试类和所有待测试类分别所对应的所有待测试方法,对所述所有待测试类分别所对应的所有待测试方法进行测试。

33、进一步的,所述目标测试信息中还包含了待测试的方法名称,所述基于所述第二执行指令选择目标测试接口,调用所述目标测试接口,并从所述测试索引数据中筛选出待测试方法进行测试的步骤,还包括:

34、若所述目标测试接口为非全量型测试接口,则调用所述目标测试接口,并根据所述目标测试信息中的待测试的方法名称和所述测试索引数据,确定待测试的目标类,对所述目标类中所有方法进行测试。

35、为了解决上述技术问题,本申请实施例还提供代码测试装置,采用了如下所述的技术方案:

36、一种代码测试装置,包括:

37、第一执行指令接收模块,用于接收第一执行指令,其中,所述第一执行指令为启动预设的集成测试工具的指令;

38、集成测试工具启动模块,用于基于所述第一执行指令启动所述集成测试工具;

39、测试筛选模块,用于调用所述集成测试工具中预设的筛选组件,筛选出待测试的目标类;

40、测试索引数据生成模块,用于遍历所述目标类中的方法,并生成目标结构的测试索引数据;

41、第二执行指令接收模块,用于接收第二执行指令,其中,所述第二执行指令为目标测试接口选择调用指令;

42、测试执行模块,用于基于所述第二执行指令选择目标测试接口,调用所述目标测试接口,并从所述测试索引数据中筛选出待测试方法进行测试。

43、为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:

44、一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述所述的代码测试方法的步骤。

45、为了解决上述技术问题,本申请实施例还提本文档来自技高网...

【技术保护点】

1.一种代码测试方法,其特征在于,包括下述步骤:

2.根据权利要求1所述的代码测试方法,其特征在于,在执行所述基于所述第一执行指令启动所述集成测试工具的步骤之前,所述方法还包括:

3.根据权利要求2所述的代码测试方法,其特征在于,所述调用所述集成测试工具中预设的筛选组件,筛选出待测试的目标类的步骤,具体包括:

4.根据权利要求1所述的代码测试方法,其特征在于,所述遍历所述目标类中的方法,并生成目标结构的测试索引数据的步骤,具体包括:

5.根据权利要求1所述的代码测试方法,其特征在于,在执行所述接收第二执行指令的步骤之后,所述方法还包括:

6.根据权利要求5所述的代码测试方法,其特征在于,所述目标测试信息中包含了目标测试接口的接口名称,所述根据所述目标测试信息,识别出所述目标测试接口的测试接口类型的步骤,具体包括:

7.根据权利要求6所述的代码测试方法,其特征在于,所述基于所述第二执行指令选择目标测试接口,调用所述目标测试接口,并从所述测试索引数据中筛选出待测试方法进行测试的步骤,包括:

8.根据权利要求6所述的代码测试方法,其特征在于,所述目标测试信息中还包含了待测试的方法名称,所述基于所述第二执行指令选择目标测试接口,调用所述目标测试接口,并从所述测试索引数据中筛选出待测试方法进行测试的步骤,还包括:

9.一种代码测试装置,其特征在于,包括:

10.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至8中任一项所述的代码测试方法的步骤。

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至8中任一项所述的代码测试方法的步骤。

...

【技术特征摘要】

1.一种代码测试方法,其特征在于,包括下述步骤:

2.根据权利要求1所述的代码测试方法,其特征在于,在执行所述基于所述第一执行指令启动所述集成测试工具的步骤之前,所述方法还包括:

3.根据权利要求2所述的代码测试方法,其特征在于,所述调用所述集成测试工具中预设的筛选组件,筛选出待测试的目标类的步骤,具体包括:

4.根据权利要求1所述的代码测试方法,其特征在于,所述遍历所述目标类中的方法,并生成目标结构的测试索引数据的步骤,具体包括:

5.根据权利要求1所述的代码测试方法,其特征在于,在执行所述接收第二执行指令的步骤之后,所述方法还包括:

6.根据权利要求5所述的代码测试方法,其特征在于,所述目标测试信息中包含了目标测试接口的接口名称,所述根据所述目标测试信息,识别出所述目标测试接口的测试接口类型的步骤,具体包括:

7.根据权利要求6所述...

【专利技术属性】
技术研发人员:牛煜超
申请(专利权)人:平安银行股份有限公司
类型:发明
国别省市:

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

1