CN111198813A - 一种接口测试方法和装置 - Google Patents
一种接口测试方法和装置 Download PDFInfo
- Publication number
- CN111198813A CN111198813A CN201811383275.2A CN201811383275A CN111198813A CN 111198813 A CN111198813 A CN 111198813A CN 201811383275 A CN201811383275 A CN 201811383275A CN 111198813 A CN111198813 A CN 111198813A
- Authority
- CN
- China
- Prior art keywords
- test
- test script
- script
- identifier
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 617
- 238000013515 script Methods 0.000 claims abstract description 339
- 230000002159 abnormal effect Effects 0.000 claims abstract description 55
- 230000008859 change Effects 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 52
- 230000005856 abnormality Effects 0.000 claims abstract description 27
- 230000008439 repair process Effects 0.000 claims abstract description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 7
- 238000012937 correction Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 31
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000013100 final test Methods 0.000 description 5
- 230000009191 jumping Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000000586 desensitisation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000001172 regenerating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种接口测试方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:执行预设的测试操作,其中包括:运行测试脚本并先后检测测试脚本异常和测试用例异常;若检测到测试脚本异常,利用测试脚本的标识和被测接口入参嵌套链路文本的标识,确定变化因素并根据对应的修复策略更新测试脚本,然后重新执行预设的测试操作;若检测到测试用例异常,更新测试用例,利用更新后的测试用例重新执行测试脚本,再次检测测试用例异常;在不存在测试脚本异常和测试用例异常情况下生成测试结果。能自动处理测试脚本问题和测试用例不全问题,实现接口测试中间执行过程完全无需人工参与,提高接口测试ROI,提高人效比,更好保障被测系统质量。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种接口测试方法和装置。
背景技术
自动化测试在质量保障环境占据了举足轻重的地位,在提升测试效率,提供团队ROI(投入产出比)上都有很大的优势,其中接口测试是自动化测试中不可或缺的环节之一。
目前几乎所有的接口自动化的工作流程都从测试开发工程师撰写测试脚本开始,然后设计测试用例,然后通过持续集成平台按照一定的规则进行调取测试,最后完成测试报告输出。现有的接口自动化测试流程中,永远都是人在发起,在测试结果中如果发现是测试脚本问题或者是测试用例设计不全的问题,那么测试开发工程师要进入脚本修复或者是测试用例完善后再次运行测试脚本,进行测试,这无疑将自动化变成了半自动化过程,而即使应用测试脚本自动生成技术,也仅仅提高了测试脚本撰写效率,后续很多自动化过程仍需人工参与。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
接口测试的中间执行过程仍需要人工参与,降低了接口测试的ROI和人效比(人效即人均产出或人均劳效)。
发明内容
有鉴于此,本发明实施例提供一种接口测试方法和装置,能够自动处理测试过程中出现的测试脚本问题和测试用例不全的问题,实现接口测试的中间执行过程完全无需人工参与,提高了接口测试的ROI,提高人效比,更好地保障了被测系统的质量。
为实现上述目的,根据本发明实施例的一个方面,提供了一种接口测试方法。
一种接口测试方法,包括:执行预设的测试操作,其中包括:运行测试脚本并先后检测测试脚本异常和测试用例异常;在检测到所述测试脚本异常的情况下,利用测试脚本的标识和被测接口入参嵌套链路文本的标识,确定导致所述测试脚本异常的变化因素,并根据与所述变化因素对应的修复策略更新所述测试脚本,然后重新执行所述预设的测试操作;在检测到所述测试用例异常的情况下,按照测试参数修正规则更新测试用例,利用更新后的测试用例重新执行测试脚本,然后再次检测所述测试用例异常;在不存在所述测试脚本异常和所述测试用例异常的情况下,根据测试脚本运行的结果生成测试结果。
可选地,按照如下方式检测所述测试脚本异常和所述测试用例异常:当运行所述测试脚本时出现语法报错,则检测为所述测试脚本异常;当运行所述测试脚本之后,统计出的代码覆盖率小于预设阈值,则检测为所述测试用例异常。
可选地,按照测试参数修正规则更新测试用例的步骤,包括:根据所述代码覆盖率的统计报告得到未覆盖语句的信息;根据所述未覆盖语句的信息生成补充的测试参数,并在当前测试用例中增加所述补充的测试参数对应的测试用例,以得到更新后的测试用例。
可选地,利用测试脚本的标识和被测接口入参嵌套链路文本的标识,确定导致所述测试脚本异常的变化因素的步骤,包括:利用自动化脚本生成算法,生成第二测试脚本和第二被测接口入参嵌套链路文本;根据预设算法生成所述第二测试脚本的标识以及所述第二被测接口入参嵌套链路文本的标识;将所述第二测试脚本的标识与第一测试脚本的标识进行比对,以及将所述第二被测接口入参嵌套链路文本的标识与第一被测接口入参嵌套链路文本的标识进行比对,所述第一测试脚本和所述第一被测接口入参嵌套链路文本,为发生所述测试脚本异常时使用的测试脚本和被测接口入参嵌套链路文本;在所述第二测试脚本的标识与所述第一测试脚本的标识比对不一致的情况下,确定所述变化因素为被测接口名称的变化;在所述第二被测接口入参嵌套链路文本的标识与所述第一被测接口入参嵌套链路文本的标识比对不一致的情况下,确定所述变化因素为测试脚本入参的变化。
可选地,根据预设算法生成所述第二测试脚本的标识以及所述第二被测接口入参嵌套链路文本的标识的步骤,包括:分别对所述第二测试脚本的文本和所述第二被测接口入参嵌套链路文本,按照二进制方式读取文本内容;对读取的内容进行MD5运算,得到两个散列值,所述两个散列值分别作为所述第二测试脚本的标识以及所述第二被测接口入参嵌套链路文本的标识。
可选地,根据与所述变化因素对应的修复策略更新所述测试脚本的步骤,包括:在所述被测接口名称发生变化的情况下,将所述第一测试脚本的接口调用行替换为所述第二测试脚本的接口调用行,并将替换接口调用行之后的第一测试脚本作为更新后的测试脚本;在所述测试脚本入参发生变化的情况下,将所述第二测试脚本作为更新后的测试脚本。
可选地,所述接口为远程过程调用协议服务接口。
根据本发明实施例的另一方面,提供了一种接口测试装置。
一种接口测试装置,包括:测试执行模块,用于执行预设的测试操作,其中包括:运行测试脚本并先后检测测试脚本异常和测试用例异常;第一异常处理模块,用于在检测到所述测试脚本异常的情况下,利用测试脚本的标识和被测接口入参嵌套链路文本的标识,确定导致所述测试脚本异常的变化因素,并根据与所述变化因素对应的修复策略更新所述测试脚本,然后通过所述测试执行模块重新执行所述预设的测试操作;第二异常处理模块,用于在检测到所述测试用例异常的情况下,按照测试参数修正规则更新测试用例,利用更新后的测试用例重新执行测试脚本,然后通过所述测试执行模块再次检测所述测试用例异常;测试结果输出模块,用于在不存在所述测试脚本异常和所述测试用例异常的情况下,根据测试脚本运行的结果生成测试结果。
可选地,所述测试执行模块包括异常检测子模块,用于:按照如下方式检测所述测试脚本异常和所述测试用例异常:当运行所述测试脚本时出现语法报错,则检测为所述测试脚本异常;当运行所述测试脚本之后,统计出的代码覆盖率小于预设阈值,则检测为所述测试用例异常。
可选地,所述第二异常处理模块包括测试用例更新子模块,用于:根据所述代码覆盖率的统计报告得到未覆盖语句的信息;根据所述未覆盖语句的信息生成补充的测试参数,并在当前测试用例中增加所述补充的测试参数对应的测试用例,以得到更新后的测试用例。
可选地,所述第一异常处理模块包括变化因素确定子模块,用于:利用自动化脚本生成算法,生成第二测试脚本和第二被测接口入参嵌套链路文本;根据预设算法生成所述第二测试脚本的标识以及所述第二被测接口入参嵌套链路文本的标识;将所述第二测试脚本的标识与第一测试脚本的标识进行比对,以及将所述第二被测接口入参嵌套链路文本的标识与第一被测接口入参嵌套链路文本的标识进行比对,所述第一测试脚本和所述第一被测接口入参嵌套链路文本,为发生所述测试脚本异常时使用的测试脚本和被测接口入参嵌套链路文本;在所述第二测试脚本的标识与所述第一测试脚本的标识比对不一致的情况下,确定所述变化因素为被测接口名称的变化;在所述第二被测接口入参嵌套链路文本的标识与所述第一被测接口入参嵌套链路文本的标识比对不一致的情况下,确定所述变化因素为测试脚本入参的变化。
可选地,所述变化因素确定子模块包括标识生成单元,用于:分别对所述第二测试脚本的文本和所述第二被测接口入参嵌套链路文本,按照二进制方式读取文本内容;对读取的内容进行MD5运算,得到两个散列值,所述两个散列值分别作为所述第二测试脚本的标识以及所述第二被测接口入参嵌套链路文本的标识。
可选地,所述第一异常处理模块包括测试脚本更新子模块,用于:在所述被测接口名称发生变化的情况下,将所述第一测试脚本的接口调用行替换为所述第二测试脚本的接口调用行,并将替换接口调用行之后的第一测试脚本作为更新后的测试脚本;在所述测试脚本入参发生变化的情况下,将所述第二测试脚本作为更新后的测试脚本。
根据本发明实施例的又一方面,提供了一种电子设备。
一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本发明提供的接口测试方法。
根据本发明实施例的又一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的接口测试方法。
上述发明中的一个实施例具有如下优点或有益效果:执行预设的测试操作,其中包括:运行测试脚本并先后检测测试脚本异常和测试用例异常;在检测到测试脚本异常的情况下,确定导致测试脚本异常的变化因素,并根据与变化因素对应的修复策略更新测试脚本,然后重新执行所述预设的测试操作;在检测到测试用例异常的情况下,更新测试用例,利用更新后的测试用例重新执行测试脚本,然后再次检测测试用例异常。能够自动处理测试过程中出现的测试脚本问题和测试用例不全的问题,实现接口测试的中间执行过程完全无需人工参与,提高了接口测试的ROI,提高人效比,更好地保障了被测系统的质量。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明第一实施例的接口测试方法的流程示意图;
图2是根据本发明第二实施例的接口测试流程示意图;
图3是根据本发明第三实施例的测试脚本异常的处理流程示意图;
图4是根据本发明第四实施例的测试用例异常的处理流程示意图;
图5是根据本发明第五实施例的接口测试流程示意图;
图6是根据本发明第六实施例的接口测试装置的主要模块示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适于用来实现本发明实施例的服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
图1是根据本发明第一实施例的接口测试方法的流程示意图。
如图1所示,本发明第一实施例的接口测试方法的流程如下。其中,为了便于说明为本实施例的流程添加了编号:步骤S101~步骤S104。
步骤S101:执行预设的测试操作,其中包括:运行测试脚本并先后检测测试脚本异常和测试用例异常;在检测到测试脚本异常的情况下,执行步骤S102;在检测到测试用例异常的情况下,执行步骤S103;在不存在测试脚本异常和测试用例异常的情况下,执行步骤S104。
其中,可以按照如下方式检测测试脚本异常和所述测试用例异常:
当运行测试脚本时出现语法报错,则检测为测试脚本异常;
当运行测试脚本之后,统计出的代码覆盖率小于预设阈值,则检测为测试用例异常。
步骤S102:利用测试脚本的标识和被测接口入参嵌套链路文本的标识,确定导致测试脚本异常的变化因素,并根据与变化因素对应的修复策略更新测试脚本,然后重新执行步骤S101中预设的测试操作。
被测接口入参嵌套链路文本包括被测接口入参的嵌套关系。被测接口入参即被测接口输入参数。
测试脚本的标识和被测接口入参嵌套链路文本的标识,分别为测试脚本文本内容和被测接口入参嵌套链路文本内容的文本标识,文本内容的文本标识是对文本内容以二进制读入内存,并运行MD5算法计算得到的一串编码,本发明实施例该编码为散列值的形式,标识的具体生成方法参见下文的详细介绍。
利用测试脚本的标识和被测接口入参嵌套链路文本的标识,确定导致测试脚本异常的变化因素的步骤,具体可以包括:
利用自动化脚本生成算法,生成第二测试脚本和第二被测接口入参嵌套链路文本;
根据预设算法生成第二测试脚本的标识以及第二被测接口入参嵌套链路文本的标识;
将第二测试脚本的标识与第一测试脚本的标识进行比对,以及将第二被测接口入参嵌套链路文本的标识与第一被测接口入参嵌套链路文本的标识进行比对,其中,第一测试脚本和第一被测接口入参嵌套链路文本,为发生测试脚本异常时使用的测试脚本和被测接口入参嵌套链路文本;
在第二测试脚本的标识与第一测试脚本的标识比对不一致的情况下,确定变化因素为被测接口名称的变化;
在第二被测接口入参嵌套链路文本的标识与第一被测接口入参嵌套链路文本的标识比对不一致的情况下,确定变化因素为测试脚本入参的变化。
在本发明实施例中,在利用自动化脚本生成算法,生成(包括重新生成)测试脚本和被测接口入参嵌套链路文本之后,都将根据上述预设算法(如MD5算法)生成该测试脚本的标识以及该被测接口入参嵌套链路文本的标识。上述的第一测试脚本的标识以及第一被测接口入参嵌套链路文本的标识,是在生成该第一测试脚本和第一被测接口入参嵌套链路文本之后,利用预设算法生成的。
根据预设算法生成第二测试脚本的标识以及第二被测接口入参嵌套链路文本的标识的步骤,具体可以包括:
分别对第二测试脚本的文本和第二被测接口入参嵌套链路文本,按照二进制方式读取文本内容;
对读取的内容进行MD5运算,得到两个散列值,将该两个散列值分别作为第二测试脚本的标识以及第二被测接口入参嵌套链路文本的标识。
用“T(Java)”表示测试脚本的标识,并“T(Json)”表示用被测接口入参嵌套链路文本的标识。其中,第二测试脚本的标识用“T2(Java)”表示,第二被测接口入参嵌套链路文本的标识用“T2(Json)”表示,同理,“T1(Java)”和“T1(Json)”分别表示第一测试脚本和第一被测接口入参嵌套链路文本的标识。“T1(Java)”和“T1(Json)”的生成方法与上述“T2(Java)”和“T2(Json)”的生成方法相同。
MD5是Message-digest Algorithm 5算法(消息摘要算法第五版)的缩写,MD5算法是对输入文本进行初始化处理后,以512位分组来处理输入文本的信息,每一个分组又被划分成16到32位子分组,经过一系列的变换处理,输出四个32位分组,再将该32位分组级联后生成一个128位散列值,这个散列值输入文本内容的文本标识。本发明实施例分别对自动生成的测试脚本(即测试脚本主体)和被测接口入参嵌套链路文本按照二进制方式读入内容,然后进行MD5运算,保存两个对应的散列值,即文本标识:T(Java)和T(Json)。
根据与变化因素对应的修复策略更新测试脚本的步骤,具体可以包括:
在被测接口名称发生变化的情况下,将第一测试脚本的接口调用行替换为第二测试脚本的接口调用行,并将替换接口调用行之后的第一测试脚本作为更新后的测试脚本;
在测试脚本入参发生变化的情况下,将第二测试脚本作为更新后的测试脚本。
步骤S103:按照测试参数修正规则更新测试用例,利用更新后的测试用例重新执行测试脚本,然后重新执行步骤S101中检测测试用例异常的操作。
其中,按照测试参数修正规则更新测试用例的步骤,具体可以包括:
根据统计出的代码覆盖率的统计报告得到未覆盖语句的信息;
根据未覆盖语句的信息生成补充的测试参数,并在当前测试用例中增加补充的测试参数对应的测试用例,以得到更新后的测试用例。
步骤S104:根据测试脚本运行的结果生成测试结果。
步骤S104生成的测试结果为解决了测试脚本异常和测试用例异常问题之后,得到的最终的测试报告。
本发明实施例的接口可以为RPC(远程过程调用协议)服务接口。
图2是根据本发明第二实施例的接口测试流程示意图。
本实施例利用对RPC服务接口的测试脚本自动生成算法生成测试脚本,通过测试参数mock服务自动生成测试参数,在测试脚本运行过程中,通过运行变动检测算法检测被测接口的变化来完成测试脚本的自我修复,最后依据被测系统的代码覆盖报告指导最后是否修正测试参数、更新测试用例,并启动重跑机制(重跑即重新运行测试脚本)。
其中,mock是指真实服务在调试期间的代替服务,测试参数mock服务用于依据一些测试业务提供测试用例数据和测试系统支撑数据,也可称为数据mock服务。
变动检测算法用于检测测试脚本是否出现异常,并在检测到测试脚本异常的情况下,确定导致测试脚本异常的变化因素,以根据与变化因素对应的修复策略更新测试脚本(可以参见上述步骤S102的介绍)。
代码覆盖报告为代码覆盖结果的统计报告,根据代码覆盖结果的统计报告可以统计代码覆盖率,本发明实施例的代码覆盖率为条件代码覆盖率,条件代码覆盖率反映了条件代码覆盖的比率,条件代码覆盖是指选择足够的测试用例,使得运行这些测试用例后,要使每个判断中每个条件的可能取值至少满足一次。
如图2所示,接口测试流程包括:配置被测接口依赖;分析获取被测接口入参;手动标记入参语义种类并标记参数策略,对测试参数mock服务的选择做出标记;调用测试参数mock服务生成测试参数;执行测试,其中根据生成的测试参数对应的测试用例运行当前的测试脚本,通过运行变动检测算法检测被测接口的变化来完成测试脚本的自我修复;生成代码覆盖报告,根据代码覆盖报告统计代码覆盖率;重跑机制检测,用于根据统计出的代码覆盖率判断是否需要重跑,若是,则获取被测接口代码覆盖率,并调取参数分析服务,生成对应的参数选取条件,并返回上述的调用测试参数mock服务生成测试参数的步骤,以补充测试参数和测试用例;若否,则生成最终的测试报告以结束测试。判断是否需要重跑主要是判断是否出现测试用例异常,在测试用例异常的情况下,判定为需要重跑,否则不需要重跑。
其中,生成对应的参数选取条件,即生成测试参数mock服务的补充测试参数的调取方式。按照参数选取条件可以重新调取测试参数mock服务,以生成补充补充的测试参数。参数分析服务是本发明实施例为了满足补充测试参数而设计的一种参数丢失或者缺少的分析服务,可以是依据每次运行测试脚本后的代码覆盖报告做出判断,并得出需要补充的测试参数的服务器。参数分析服务根据代码覆盖报告得到未覆盖语句的信息,未覆盖语句的信息包括详细未覆盖条件,根据未覆盖语句的信息得出需要补充的测试参数。补充后的测试参数与已有的测试参数构成全量测试参数,
本发明实施例利用该全量测试参数重新运行测试脚本,达到了可以自动化处理测试用例不全问题的技术效果。
本发明实施例以电商场景中的RPC服务接口测试为例,其测试参数mock服务主要分为三种数据来源形式,第一种是基础数据mock服务,其中包含日期、种类、个人、公司、地址等数据。主要为当前一些测试服务中利用到的基本信息随机产生一个真实的结果,通过该类服务可以快速建立一个例如地址数据mock服务,按照省、市、县、邮编、固定电话等相对真实的数据。第二种是依据被测接口对应的业务流程,在已有测试数据库中通过数据抽取和清洗的方式抽取到Elasticsearch(一个实时分布式搜索和分析引擎)中的订单、配送单号、SKU(库存量单位)等业务强相关的数据mock服务;第三类是通过内部大数据平台对经历过线上数据脱敏的真实数据导入到测试环境,然后提供出来的各种全流程的业务数据mock服务,其中,数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。
本发明可以完成智能化的RPC服务接口测试,中间执行过程完全无人参与。只需在分析完接口后,人工通过标记行为将入参语义和数据mock服务的选择做出标记,同时选择一种参数策略,然后就可以通过本发明完全自动化处理测试过程中出现的测试脚本问题和测试用例不全的问题。
图3是根据本发明第三实施例的测试脚本异常的处理流程示意图。
在检测到测试脚本异常的情况下,利用测试脚本的标识和被测接口入参嵌套链路文本的标识,确定导致测试脚本异常的变化因素,并根据与变化因素对应的修复策略更新测试脚本,运行更新后的测试脚本,并再次检测测试脚本异常,若再次检测到测试脚本异常,则重复上述过程,直到运行更新后的最新测试脚本时不再出现测试脚本异常,生成测试报告。
如图3所示,通过步骤S301和步骤S302可以确定导致测试脚本异常的变化因素,T2(Java)为第二测试脚本的标识,T2(Json)为第二被测接口入参嵌套链路文本的标识,T1(Java)为第一测试脚本的标识,T1(Json)为第一被测接口入参嵌套链路文本的标识。第一测试脚本记作T1脚本,第二测试脚本记作T2脚本。
对测试脚本异常的检测和处理为可以循环执行的过程,本实施例假设运行的测试脚本为第一测试脚本,相应的被测接口入参嵌套链路文本为第一被测接口入参嵌套链路文本。
当运行第一测试脚本时出现脚本语法报错(步骤S308),则通过步骤S309重新调用脚本自动生成算法和测试参数mock服务,以重新生成测试脚本(第二测试脚本)和第二被测接口入参嵌套链路文本,然后,根据第二被测接口入参嵌套链路文本的变量名(内部存在一套严格的变量命名规范,可以通过变量名获取参数的实际意义)生成测试参数以及依据测试参数mock服务获知各类参数的预期结果。
根据生成的第二测试脚本和第二被测接口入参嵌套链路文本,利用MD5运算生成T2(Java)和T2(Json)。将T2(Json)与T1(Json)进行比对(S301),如果二者存在差异,那么说明测试脚本入参已经发生变化,那么将第一测试脚本主体替换为第二测试脚本主体(S303),用第二测试脚本进行测试(S304);如果二者不存在差异,说明测试脚本入参未发生变化,执行步骤S302。
将T2(Java)和T1(Java)进行比对(步骤S302),如果二者存在差异,说明被测接口(API,应用程序接口)名称发现变化,则需要用第二测试脚本的API调用行替换第一测试脚本的API调用行(S306),然后执行调用行替换后的第一测试脚本进行测试(S307),丢弃第二测试脚本;如果二者无差异,执行第一测试脚本(S305)即可。
执行当前最新的测试脚本(S308),即步骤S307或步骤S305或步骤S304得到的测试脚本,如果未出现测试脚本语法报错,则生成测试报告(S310),若仍出现测试脚本语法报错,则再次执行步骤S309,以重新调用脚本自动生成算法和测试参数mock服务,再次重新生成测试脚本(记作第三测试脚本)和被测接口入参嵌套链路文本(记作第三被测接口入参嵌套链路文本),然后跳转到步骤S301继续执行上述流程,如果多次检测到测试脚本异常,将循环上述流程,此处不重复描述各轮循环步骤。
图4是根据本发明第四实施例的测试用例异常的处理流程示意图。
本实施例在执行RPC服务接口测试脚本的过程中,针对每次测试都会执行代码覆盖率操作,设被测系统的Control层(目前内部规范致命全部对外接口都在Control层)的代码条件覆盖率为C(c)。Control层,即Controller层(控制层),Controller层负责具体的业务模块流程的控制,在此层里面要调用Service层(服务层)的接口来控制业务流程,控制的配置也同样是在Spring(开放源代码的设计层面框架)的配置文件里面进行,针对具体的业务流程,会有不同的控制器,可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块,不仅使程序结构变得清晰并大大减少代码量。
在完成测试后,读取代码覆盖报告(S401),检索被测接口的代码覆盖结果,统计代码条件覆盖率C(c)(S402),判断C(c)是否大于或等于代码条件覆盖阈值C(p)(该阈值C(p)即预设阈值,可以依据不同系统和经验来设定)(S403),若C(c)大于或等于C(p),则停止测试,并保留TestNG(一个设计用来简化广泛的测试需求的测试框架)报告(S405),将TestNG报告(为最终的测试报告)发送给相关项目干系人。如果C(c)小于C(p),则读取代码测试报告的详细未覆盖语句,通过详细未覆盖条件,重新调取数据mock服务,生成符合覆盖条件的参数,添加测试参数对应的测试用例,再次调取接口测试(S404),最终直到C(c)大于或等于C(p),得到最终的测试报告作为测试结果。
本实施例可以实现基于被测系统的代码覆盖率的重跑机制,根据被测系统的Control层的条件分支覆盖率(即代码条件覆盖率)是否大于已设定代码条件覆盖率阈值(C(p)),来决定是否重新调取数据mock服务进行重跑。
图5是根据本发明第五实施例的接口测试流程示意图。
如图5所示,本实施例的接口测试流程包括步骤S501至步骤S517。
步骤S501:调用脚本自动生成算法和数据mock服务;
步骤S502:生成测试脚本主体和被测接口入参嵌套链路文本以及测试参数,其中,通过脚本自动生成算法生成测试脚本主体和被测接口入参嵌套链路文本,通过数据mock服务生成测试参数;
步骤S503:生成当前测试脚本主体和被测接口入参嵌套链路文本的标识:T2(Java)和T2(Json);
步骤S504:判断T2(Json)与T1(Json)是否相同,若是,则执行步骤S507,否则执行步骤S505。
步骤S505:删除T1脚本主体,替换成T2脚本主体,然后执行步骤S506;
步骤S506:执行T2脚本,然后跳转到步骤S511;
步骤S507:判断T2(Java)与T1(Java)是否相同,若是,则执行步骤S508,否则,执行步骤S509。
步骤S508:执行T1脚本,然后跳转到步骤S511;
步骤S509:用T2脚本主体被测API调用语句替换T1脚本主体被测API调用语句,然后执行步骤S510;
步骤S510:执行T1脚本,然后跳转到步骤S511;
步骤S511:判断是否出现脚本(测试脚本)语法报错,若是,则返回到步骤S501,否则执行步骤S512;
步骤S512:生成代码覆盖报告;
步骤S513:检索被测接口的代码覆盖结果,统计代码条件覆盖率为C(c);
步骤S514:判断C(c)是否大于或等于预设阈值C(p),若是,则跳转到步骤S517,否则,执行步骤S515;
步骤S515:调用数据mock服务生成补充的测试参数;
步骤S516:执行当前的测试脚本,其中涉及已有的测试用例以及补充的测试参数对应的测试用例,然后跳转到步骤S512。
步骤S517:输出最终的测试报告。
本实施例流程的各步骤的具体说明可以参见上述各实施例的介绍,此处不再赘述。
图6是根据本发明第六实施例的接口测试装置的主要模块示意图。
如图6所示,本实施例的接口测试装置600主要包括:测试执行模块601、第一异常处理模块602、第二异常处理模块603、测试结果输出模块604。
测试执行模块601,用于执行预设的测试操作,其中包括:运行测试脚本并先后检测测试脚本异常和测试用例异常。
测试执行模块601可以包括异常检测子模块,用于:按照如下方式检测测试脚本异常和测试用例异常:当运行测试脚本时出现语法报错,则检测为测试脚本异常;当运行测试脚本之后,统计出的代码覆盖率小于预设阈值,则检测为测试用例异常。
第一异常处理模块602,用于在检测到测试脚本异常的情况下,利用测试脚本的标识和被测接口入参嵌套链路文本的标识,确定导致测试脚本异常的变化因素,并根据与该变化因素对应的修复策略更新测试脚本,然后通过测试执行模块重新执行上述预设的测试操作。
第一异常处理模块602可以包括变化因素确定子模块,用于:利用自动化脚本生成算法,生成第二测试脚本和第二被测接口入参嵌套链路文本;根据预设算法生成第二测试脚本的标识以及第二被测接口入参嵌套链路文本的标识;将第二测试脚本的标识与第一测试脚本的标识进行比对,以及将第二被测接口入参嵌套链路文本的标识与第一被测接口入参嵌套链路文本的标识进行比对,第一测试脚本和第一被测接口入参嵌套链路文本,为发生测试脚本异常时使用的测试脚本和被测接口入参嵌套链路文本;在第二测试脚本的标识与所述第一测试脚本的标识比对不一致的情况下,确定变化因素为被测接口名称的变化;在第二被测接口入参嵌套链路文本的标识与第一被测接口入参嵌套链路文本的标识比对不一致的情况下,确定变化因素为测试脚本入参的变化。
变化因素确定子模块可以包括标识生成单元,用于:分别对第二测试脚本的文本和第二被测接口入参嵌套链路文本,按照二进制方式读取文本内容;对读取的内容进行MD5运算,得到两个散列值,两个散列值分别作为第二测试脚本的标识以及第二被测接口入参嵌套链路文本的标识。
第一异常处理模块602还可以包括测试脚本更新子模块,用于:在被测接口名称发生变化的情况下,将第一测试脚本的接口调用行替换为所述第二测试脚本的接口调用行,并将替换接口调用行之后的第一测试脚本作为更新后的测试脚本;在测试脚本入参发生变化的情况下,将第二测试脚本作为更新后的测试脚本。
第二异常处理模块603,用于在检测到测试用例异常的情况下,按照测试参数修正规则更新测试用例,利用更新后的测试用例重新执行测试脚本,然后通过测试执行模块再次检测测试用例异常。
第二异常处理模块603可以包括测试用例更新子模块,用于:根据代码覆盖率的统计报告得到未覆盖语句的信息;根据未覆盖语句的信息生成补充的测试参数,并在当前测试用例中增加补充的测试参数对应的测试用例,以得到更新后的测试用例。
测试结果输出模块604,用于在不存在测试脚本异常和测试用例异常的情况下,根据测试脚本运行的结果生成测试结果。
另外,在本发明实施例中所述接口测试装置的具体实施内容,在上面所述接口测试方法中已经详细说明了,故在此重复内容不再说明。
图7示出了可以应用本发明实施例的接口测试方法或接口测试装置的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本发明实施例所提供的接口测试方法一般由服务器705执行,相应地,接口测试装置一般设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图8,其示出了适于用来实现本申请实施例的服务器的计算机系统800的结构示意图。图8示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括转换模块501、加密模块502、生成模块503。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,转换模块501还可以被描述为“用于获取待配送的物品的配送信息,并将配送信息转换为字符串的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:执行预设的测试操作,其中包括:运行测试脚本并先后检测测试脚本异常和测试用例异常;在检测到所述测试脚本异常的情况下,利用测试脚本的标识和被测接口入参嵌套链路文本的标识,确定导致所述测试脚本异常的变化因素,并根据与所述变化因素对应的修复策略更新所述测试脚本,然后重新执行所述预设的测试操作;在检测到所述测试用例异常的情况下,按照测试参数修正规则更新测试用例,利用更新后的测试用例重新执行测试脚本,然后再次检测所述测试用例异常;在不存在所述测试脚本异常和所述测试用例异常的情况下,根据测试脚本运行的结果生成测试结果。
根据本发明实施例的技术方案,执行预设的测试操作,其中包括:运行测试脚本并先后检测测试脚本异常和测试用例异常;在检测到测试脚本异常的情况下,确定导致测试脚本异常的变化因素,并根据与变化因素对应的修复策略更新测试脚本,然后重新执行所述预设的测试操作;在检测到测试用例异常的情况下,更新测试用例,利用更新后的测试用例重新执行测试脚本,然后再次检测测试用例异常。能够自动处理测试过程中出现的测试脚本问题和测试用例不全的问题,实现接口测试的中间执行过程完全无需人工参与,提高了接口测试的ROI,提高人效比,更好地保障了被测系统的质量。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (15)
1.一种接口测试方法,其特征在于,包括:
执行预设的测试操作,其中包括:运行测试脚本并先后检测测试脚本异常和测试用例异常;
在检测到所述测试脚本异常的情况下,
利用测试脚本的标识和被测接口入参嵌套链路文本的标识,确定导致所述测试脚本异常的变化因素,并根据与所述变化因素对应的修复策略更新所述测试脚本,然后重新执行所述预设的测试操作;
在检测到所述测试用例异常的情况下,
按照测试参数修正规则更新测试用例,利用更新后的测试用例重新执行测试脚本,然后再次检测所述测试用例异常;
在不存在所述测试脚本异常和所述测试用例异常的情况下,根据测试脚本运行的结果生成测试结果。
2.根据权利要求1所述的方法,其特征在于,按照如下方式检测所述测试脚本异常和所述测试用例异常:
当运行所述测试脚本时出现语法报错,则检测为所述测试脚本异常;
当运行所述测试脚本之后,统计出的代码覆盖率小于预设阈值,则检测为所述测试用例异常。
3.根据权利要求2所述的方法,其特征在于,按照测试参数修正规则更新测试用例的步骤,包括:
根据所述代码覆盖率的统计报告得到未覆盖语句的信息;
根据所述未覆盖语句的信息生成补充的测试参数,并在当前测试用例中增加所述补充的测试参数对应的测试用例,以得到更新后的测试用例。
4.根据权利要求1所述的方法,其特征在于,利用测试脚本的标识和被测接口入参嵌套链路文本的标识,确定导致所述测试脚本异常的变化因素的步骤,包括:
利用自动化脚本生成算法,生成第二测试脚本和第二被测接口入参嵌套链路文本;
根据预设算法生成所述第二测试脚本的标识以及所述第二被测接口入参嵌套链路文本的标识;
将所述第二测试脚本的标识与第一测试脚本的标识进行比对,以及将所述第二被测接口入参嵌套链路文本的标识与第一被测接口入参嵌套链路文本的标识进行比对,所述第一测试脚本和所述第一被测接口入参嵌套链路文本,为发生所述测试脚本异常时使用的测试脚本和被测接口入参嵌套链路文本;
在所述第二测试脚本的标识与所述第一测试脚本的标识比对不一致的情况下,确定所述变化因素为被测接口名称的变化;
在所述第二被测接口入参嵌套链路文本的标识与所述第一被测接口入参嵌套链路文本的标识比对不一致的情况下,确定所述变化因素为测试脚本入参的变化。
5.根据权利要求4所述的方法,其特征在于,根据预设算法生成所述第二测试脚本的标识以及所述第二被测接口入参嵌套链路文本的标识的步骤,包括:
分别对所述第二测试脚本的文本和所述第二被测接口入参嵌套链路文本,按照二进制方式读取文本内容;
对读取的内容进行MD5运算,得到两个散列值,所述两个散列值分别作为所述第二测试脚本的标识以及所述第二被测接口入参嵌套链路文本的标识。
6.根据权利要求4所述的方法,其特征在于,根据与所述变化因素对应的修复策略更新所述测试脚本的步骤,包括:
在所述被测接口名称发生变化的情况下,将所述第一测试脚本的接口调用行替换为所述第二测试脚本的接口调用行,并将替换接口调用行之后的第一测试脚本作为更新后的测试脚本;
在所述测试脚本入参发生变化的情况下,将所述第二测试脚本作为更新后的测试脚本。
7.根据权利要求1所述的方法,其特征在于,所述接口为远程过程调用协议服务接口。
8.一种接口测试装置,其特征在于,包括:
测试执行模块,用于执行预设的测试操作,其中包括:运行测试脚本并先后检测测试脚本异常和测试用例异常;
第一异常处理模块,用于在检测到所述测试脚本异常的情况下,利用测试脚本的标识和被测接口入参嵌套链路文本的标识,确定导致所述测试脚本异常的变化因素,并根据与所述变化因素对应的修复策略更新所述测试脚本,然后通过所述测试执行模块重新执行所述预设的测试操作;
第二异常处理模块,用于在检测到所述测试用例异常的情况下,按照测试参数修正规则更新测试用例,利用更新后的测试用例重新执行测试脚本,然后通过所述测试执行模块再次检测所述测试用例异常;
测试结果输出模块,用于在不存在所述测试脚本异常和所述测试用例异常的情况下,根据测试脚本运行的结果生成测试结果。
9.根据权利要求8所述的装置,其特征在于,所述测试执行模块包括异常检测子模块,用于:
按照如下方式检测所述测试脚本异常和所述测试用例异常:
当运行所述测试脚本时出现语法报错,则检测为所述测试脚本异常;
当运行所述测试脚本之后,统计出的代码覆盖率小于预设阈值,则检测为所述测试用例异常。
10.根据权利要求9所述的装置,其特征在于,所述第二异常处理模块包括测试用例更新子模块,用于:
根据所述代码覆盖率的统计报告得到未覆盖语句的信息;
根据所述未覆盖语句的信息生成补充的测试参数,并在当前测试用例中增加所述补充的测试参数对应的测试用例,以得到更新后的测试用例。
11.根据权利要求8所述的装置,其特征在于,所述第一异常处理模块包括变化因素确定子模块,用于:
利用自动化脚本生成算法,生成第二测试脚本和第二被测接口入参嵌套链路文本;
根据预设算法生成所述第二测试脚本的标识以及所述第二被测接口入参嵌套链路文本的标识;
将所述第二测试脚本的标识与第一测试脚本的标识进行比对,以及将所述第二被测接口入参嵌套链路文本的标识与第一被测接口入参嵌套链路文本的标识进行比对,所述第一测试脚本和所述第一被测接口入参嵌套链路文本,为发生所述测试脚本异常时使用的测试脚本和被测接口入参嵌套链路文本;
在所述第二测试脚本的标识与所述第一测试脚本的标识比对不一致的情况下,确定所述变化因素为被测接口名称的变化;
在所述第二被测接口入参嵌套链路文本的标识与所述第一被测接口入参嵌套链路文本的标识比对不一致的情况下,确定所述变化因素为测试脚本入参的变化。
12.根据权利要求11所述的装置,其特征在于,所述变化因素确定子模块包括标识生成单元,用于:
分别对所述第二测试脚本的文本和所述第二被测接口入参嵌套链路文本,按照二进制方式读取文本内容;
对读取的内容进行MD5运算,得到两个散列值,所述两个散列值分别作为所述第二测试脚本的标识以及所述第二被测接口入参嵌套链路文本的标识。
13.根据权利要求11所述的装置,其特征在于,所述第一异常处理模块包括测试脚本更新子模块,用于:
在所述被测接口名称发生变化的情况下,将所述第一测试脚本的接口调用行替换为所述第二测试脚本的接口调用行,并将替换接口调用行之后的第一测试脚本作为更新后的测试脚本;
在所述测试脚本入参发生变化的情况下,将所述第二测试脚本作为更新后的测试脚本。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811383275.2A CN111198813B (zh) | 2018-11-20 | 2018-11-20 | 一种接口测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811383275.2A CN111198813B (zh) | 2018-11-20 | 2018-11-20 | 一种接口测试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111198813A true CN111198813A (zh) | 2020-05-26 |
CN111198813B CN111198813B (zh) | 2024-06-18 |
Family
ID=70746429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811383275.2A Active CN111198813B (zh) | 2018-11-20 | 2018-11-20 | 一种接口测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111198813B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708712A (zh) * | 2020-06-24 | 2020-09-25 | 北京自如信息科技有限公司 | 用户行为测试用例的生成方法、流量回放方法及电子设备 |
CN111881020A (zh) * | 2020-07-07 | 2020-11-03 | 上海中通吉网络技术有限公司 | 支付中心接口测试方法、装置和系统 |
CN112363920A (zh) * | 2020-11-06 | 2021-02-12 | 广州品唯软件有限公司 | 测试用例的修复方法、装置、计算机设备和存储介质 |
CN112380136A (zh) * | 2020-12-03 | 2021-02-19 | 北京联创信安科技股份有限公司 | 数据清理方法、装置、测试设备及存储介质 |
CN112860557A (zh) * | 2021-02-18 | 2021-05-28 | 深圳无域科技技术有限公司 | 自动化测试方法及系统 |
CN112905466A (zh) * | 2021-02-10 | 2021-06-04 | 中国工商银行股份有限公司 | 动态可修复案例的软件测试方法及装置 |
CN113282496A (zh) * | 2021-05-31 | 2021-08-20 | 平安国际智慧城市科技股份有限公司 | 接口自动测试方法、装置、设备及存储介质 |
CN113760722A (zh) * | 2021-01-13 | 2021-12-07 | 北京京东振世信息技术有限公司 | 测试系统和测试方法 |
CN113760745A (zh) * | 2021-05-19 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种接口自动化测试用例生成方法和装置 |
CN114528044A (zh) * | 2022-02-17 | 2022-05-24 | 深圳乐信软件技术有限公司 | 一种接口调用方法、装置、设备及介质 |
CN115878496A (zh) * | 2023-02-16 | 2023-03-31 | 中国铁塔股份有限公司 | 一种算法能力测试方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080092119A1 (en) * | 2006-10-17 | 2008-04-17 | Artoftest, Inc. | System, method, and computer readable medium for universal software testing |
CN106909504A (zh) * | 2017-02-14 | 2017-06-30 | 上海斐讯数据通信技术有限公司 | 一种自动化测试脚本维护方法及设备 |
CN107463500A (zh) * | 2017-08-09 | 2017-12-12 | 网易(杭州)网络有限公司 | 测试脚本的调试方法、介质、系统和计算设备 |
CN108459953A (zh) * | 2017-02-22 | 2018-08-28 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
-
2018
- 2018-11-20 CN CN201811383275.2A patent/CN111198813B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080092119A1 (en) * | 2006-10-17 | 2008-04-17 | Artoftest, Inc. | System, method, and computer readable medium for universal software testing |
CN106909504A (zh) * | 2017-02-14 | 2017-06-30 | 上海斐讯数据通信技术有限公司 | 一种自动化测试脚本维护方法及设备 |
CN108459953A (zh) * | 2017-02-22 | 2018-08-28 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
CN107463500A (zh) * | 2017-08-09 | 2017-12-12 | 网易(杭州)网络有限公司 | 测试脚本的调试方法、介质、系统和计算设备 |
Non-Patent Citations (1)
Title |
---|
高青娟;陈立潮;张英俊;潘理虎;谢斌红;: "一种关键字驱动的Java API自动测试框架", 计算机技术与发展, no. 08 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708712A (zh) * | 2020-06-24 | 2020-09-25 | 北京自如信息科技有限公司 | 用户行为测试用例的生成方法、流量回放方法及电子设备 |
CN111881020B (zh) * | 2020-07-07 | 2024-04-09 | 上海中通吉网络技术有限公司 | 支付中心接口测试方法、装置和系统 |
CN111881020A (zh) * | 2020-07-07 | 2020-11-03 | 上海中通吉网络技术有限公司 | 支付中心接口测试方法、装置和系统 |
CN112363920A (zh) * | 2020-11-06 | 2021-02-12 | 广州品唯软件有限公司 | 测试用例的修复方法、装置、计算机设备和存储介质 |
CN112380136A (zh) * | 2020-12-03 | 2021-02-19 | 北京联创信安科技股份有限公司 | 数据清理方法、装置、测试设备及存储介质 |
CN113760722A (zh) * | 2021-01-13 | 2021-12-07 | 北京京东振世信息技术有限公司 | 测试系统和测试方法 |
CN112905466A (zh) * | 2021-02-10 | 2021-06-04 | 中国工商银行股份有限公司 | 动态可修复案例的软件测试方法及装置 |
CN112905466B (zh) * | 2021-02-10 | 2024-06-07 | 中国工商银行股份有限公司 | 动态可修复案例的软件测试方法及装置 |
CN112860557A (zh) * | 2021-02-18 | 2021-05-28 | 深圳无域科技技术有限公司 | 自动化测试方法及系统 |
CN113760745A (zh) * | 2021-05-19 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种接口自动化测试用例生成方法和装置 |
CN113282496A (zh) * | 2021-05-31 | 2021-08-20 | 平安国际智慧城市科技股份有限公司 | 接口自动测试方法、装置、设备及存储介质 |
CN113282496B (zh) * | 2021-05-31 | 2024-04-02 | 深圳赛安特技术服务有限公司 | 接口自动测试方法、装置、设备及存储介质 |
CN114528044B (zh) * | 2022-02-17 | 2024-02-23 | 深圳乐信软件技术有限公司 | 一种接口调用方法、装置、设备及介质 |
CN114528044A (zh) * | 2022-02-17 | 2022-05-24 | 深圳乐信软件技术有限公司 | 一种接口调用方法、装置、设备及介质 |
CN115878496A (zh) * | 2023-02-16 | 2023-03-31 | 中国铁塔股份有限公司 | 一种算法能力测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111198813B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111198813B (zh) | 一种接口测试方法和装置 | |
US9916224B2 (en) | Integrating quality analysis with a code review tool | |
CN109117378B (zh) | 用于显示信息的方法和装置 | |
CN108933695B (zh) | 用于处理信息的方法和装置 | |
CN109218041B (zh) | 用于服务器系统的请求处理方法和装置 | |
CN110874307A (zh) | 事件埋点的收集上报方法和装置 | |
CN110019158A (zh) | 一种监控数据质量的方法和装置 | |
WO2019061999A1 (zh) | 断点外呼方法、电子装置及计算机可读存储介质 | |
CN111221727A (zh) | 测试方法、装置、电子设备和计算机可读介质 | |
CN113282444A (zh) | 用于业务流程调试的可视化方法和装置 | |
US11734057B2 (en) | Method and apparatus for processing a service of an abnormal server | |
CN109194567B (zh) | 用于重发信息的方法和装置 | |
CN110245065B (zh) | 自动化测试的方法和装置 | |
CN112052152A (zh) | 一种模拟测试的方法和装置 | |
CN111949862B (zh) | 一种管理业务任务流程的方法、装置和电子设备 | |
CN114764713A (zh) | 商户巡检任务的生成方法、装置、电子设备和存储介质 | |
CN113918525A (zh) | 数据交换调度方法、系统、电子设备、介质及程序产品 | |
CN112559001B (zh) | 更新应用的方法和装置 | |
CN111131354B (zh) | 用于生成信息的方法和装置 | |
CN111950232B (zh) | 一种自动切换号段的方法和装置 | |
CN113420713A (zh) | 异常监控方法、装置、电子设备及计算机可读介质 | |
CN112835804B (zh) | 测试案例处理方法、装置、电子设备及介质 | |
CN112783665B (zh) | 接口补偿的方法和装置 | |
CN112783753B (zh) | 流数据处理系统的测试方法和装置 | |
CN110262756B (zh) | 用于缓存数据的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |