一种接口测试用例的自愈方法、装置及设备与流程

摘要: 本技术涉及自动化测试,尤其涉及一种接口测试用例的自愈方法、装置及设备。背景技术:1、随着软件系统的业务规模不断扩大,软件系统所包含的接口数量逐渐增加。为了提高接...
一种接口测试用例的自愈方法、装置及设备与流程

本技术涉及自动化测试,尤其涉及一种接口测试用例的自愈方法、装置及设备。

背景技术:

1、随着软件系统的业务规模不断扩大,软件系统所包含的接口数量逐渐增加。为了提高接口测试效率,目前可以通过自动化执行接口测试用例,以实现接口测试。

2、目前,接口测试用例可以根据接口定义、测试数据状态和测试环境配置等测试信息生成,并基于测试信息对相应接口进行测试。然而,在软件系统的迭代过程中,接口定义、测试数据状态或测试环境配置等测试信息可能发生变化,而已有的接口测试用例难以及时适配测试信息的变化,容易导致接口测试用例执行失败,影响接口测试效率。

3、基于此,亟待一种方案能够解决上述技术问题。

技术实现思路

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、响应于测试环境切换或者环境配置变更,读取多个测试环境对应的环境配置文件;

35、获得所述第三差异信息,包括:

36、比对不同测试环境中对应配置项的配置值;

37、将配置值差异划分为待保留的正常差异和待同步的异常差异,获得第三差异信息;

38、所述自愈任务包括所述环境配置同步任务;所述执行所述自愈任务,获得所述自愈任务对应的自愈处理结果,包括:

39、根据所述第三差异信息,将所述异常差异对应的配置值同步至目标测试环境;

40、保留所述正常差异。

41、在一种可能的实现方式中,所述方法还包括:

42、在执行所述接口测试用例更新任务或所述环境配置同步任务之前,或者在所述数据状态恢复任务执行失败的情况下,输出对应的自愈策略选择信息,并将对应的处理流程设置为等待状态;

43、接收用户选择指令,根据所述用户选择指令确定处理策略和处理范围,并执行对应的处理操作。

44、在一种可能的实现方式中,所述获得所述自愈任务对应的自愈处理结果,包括:

45、对所述自愈任务的执行结果进行验证;

46、在验证通过的情况下,获得包括更新后的接口测试用例、恢复后的测试数据状态和同步后的测试环境配置信息中的至少一种自愈处理结果;

47、在验证未通过的情况下,输出所述自愈任务对应的异常信息和处理策略选择信息。

48、第二方面:本技术实施例提供一种接口测试用例的自愈装置,包括:

49、获取单元、检测单元、生成单元和执行单元;

50、所述获取单元,用于获取待处理的接口测试用例以及所述接口测试用例对应的多维测试信息;所述多维测试信息包括接口定义维度的第一测试信息、测试数据状态维度的第二测试信息和测试环境配置维度的第三测试信息;

51、所述检测单元,用于对所述第一测试信息、所述第二测试信息和所述第三测试信息进行差异检测,获得多维差异信息;所述多维差异信息包括表征接口定义差异的第一差异信息、表征测试数据状态差异的第二差异信息和表征测试环境配置差异的第三差异信息;

52、所述生成单元,用于在所述多维差异信息指示存在差异的情况下,根据指示存在差异的差异信息,生成对应的自愈任务,所述自愈任务包括接口测试用例更新任务、数据状态恢复任务和环境配置同步任务中的至少一种;

53、所述执行单元,用于执行所述自愈任务,获得所述自愈任务对应的自愈处理结果。

54、第三方面:本技术实施例提供一种计算机设备,所述计算机设备包括:处理器以及存储器;

55、所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

56、所述处理器用于根据所述程序代码中的指令执行如上所述方法的步骤。

57、第四方面:本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。

58、第五方面:本技术实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,计算机执行如上所述方法的步骤。

59、第六方面:本技术实施例提供一种芯片,包括处理器,所述处理器与存储器耦合,用于执行所述存储器中存储的计算机程序或指令,使得所述芯片实现如上所述方法的步骤。

60、相较于现有技术,本技术具有以下有益效果:

61、本技术实施例提供的接口测试用例的自愈方法,通过获取接口测试用例对应的接口定义维度、测试数据状态维度和测试环境配置维度的多维测试信息,对所述多维测试信息进行差异检测,可以确定接口定义、测试数据状态和测试环境配置中的至少一个维度是否存在差异。在存在差异的情况下,根据相应的差异信息生成并执行对应的自愈任务,从而对接口测试用例、测试数据状态或测试环境配置进行相应处理,使接口测试用例能够适应相关测试信息的变化,减少因测试信息变化与接口测试用例不匹配而导致的接口测试失败,保障了接口测试效率。