CN113704123B - 接口测试方法、装置、设备以及存储介质 - Google Patents
接口测试方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN113704123B CN113704123B CN202111016967.5A CN202111016967A CN113704123B CN 113704123 B CN113704123 B CN 113704123B CN 202111016967 A CN202111016967 A CN 202111016967A CN 113704123 B CN113704123 B CN 113704123B
- Authority
- CN
- China
- Prior art keywords
- interface
- data
- business
- resource data
- flow
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 153
- 238000000034 method Methods 0.000 claims abstract description 90
- 230000008569 process Effects 0.000 claims abstract description 76
- 238000010998 test method Methods 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims 2
- 238000012546 transfer Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 4
- 238000011010 flushing procedure Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013100 final test Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011056 performance test Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
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
-
- 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/3692—Test management for test results analysis
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
本发明涉及接口测试技术领域,公开了一种接口测试方法,包括:获取待测试的目标接口对应的业务流程数据;获取所述业务流程中各个业务步骤所需要调用的接口的接口资源数据;基于所述接口资源数据和所述业务流程数据生成接口流程测试案例;执行所述接口流程测试案例,以完成对所述目标接口对应的业务流程中所有的接口的测试。可见,本发明能够从接口在整个业务流程中的表现的角度来进行接口的测试,从而能够提高接口测试结果的准确度。本发明还涉及区块链技术领域。
Description
技术领域
本发明涉及接口测试技术领域,尤其涉及一种接口测试方法、装置、计算机设备以及存储介质。
背景技术
在计算机***的测试任务中,对计算机***中的各种接口的功能进行测试是重要的一环。在对计算机***中的接口进行测试时,通常是通过生成针对单个接口的测试案例来实现,该单个接口的测试案例将会调用该单个接口,从而测试出该单个接口的功能是否正常。但是,在实际的计算机***运行的过程中,一项完整的计算机流程的完成通常需要由多个接口相互配合完成,各个接口之间往往还会存在一些数据关联或者功能配合,所以按照当前的接口测试方式,单个接口的测试正常有时候并不意味着其所在的计算机流程也能够正常运行。可见,目前的接口测试方法只能实现割裂地对单个接口的功能进行测试,未能实现对接口在一个完整的计算机流程中的表现进行测试,测试结果的准确度仍有进一步提升的空间。
发明内容
本发明所要解决的技术问题在于,目前的接口测试方法只能实现割裂地对单个接口的功能进行测试,未能实现对接口在一个完整的计算机流程中的表现进行测试,测试结果的准确度较低。
为了解决上述技术问题,本发明第一方面公开了一种接口测试方法,所述方法包括:
获取待测试的目标接口对应的业务流程数据,其中,所述业务流程数据记录有一个完整的业务流程中的各个业务步骤、各个业务步骤在整个业务流程中的执行顺序以及执行各个业务步骤时所需要调用的接口;
获取所述业务流程中各个业务步骤所需要调用的接口的接口资源数据;
基于所述接口资源数据和所述业务流程数据生成接口流程测试案例,其中,所述接口流程测试案例用于按照各个业务步骤在整个业务流程中的执行顺序,依次调用各个业务步骤所对应的接口;
执行所述接口流程测试案例,以完成对所述目标接口对应的业务流程中所有的接口的测试。
本发明第二方面公开了一种接口测试装置,所述装置包括:
获取模块,用于获取待测试的目标接口对应的业务流程数据,其中,所述业务流程数据记录有一个完整的业务流程中的各个业务步骤、各个业务步骤在整个业务流程中的执行顺序以及执行各个业务步骤时所需要调用的接口;
所述获取模块,还用于获取所述业务流程中各个业务步骤所需要调用的接口的接口资源数据;
生成模块,用于基于所述接口资源数据和所述业务流程数据生成接口流程测试案例,其中,所述接口流程测试案例用于按照各个业务步骤在整个业务流程中的执行顺序,依次调用各个业务步骤所对应的接口;
执行模块,用于执行所述接口流程测试案例,以完成对所述目标接口对应的业务流程中所有的接口的测试。
本发明第三方面公开了一种计算机设备,所述计算机设备包括:
存储有可执行程序代码的存储器;
与所述存储器连接的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的接口测试方法中的部分或全部步骤。
本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的接口测试方法中的部分或全部步骤。
本发明实施例中,获取待测试的目标接口对应的业务流程数据,获取业务流程中各个业务步骤所需要调用的接口的接口资源数据,基于接口资源数据和业务流程数据生成接口流程测试案例,最后执行接口流程测试案例以完成对目标接口对应的业务流程中所有的接口的测试,从而能够实现在进行接口测试时,对待测试的目标接口所在的业务流程中的所有接口进行测试,避免了现有的接口测试方法中割裂地对单个接口的功能进行测试的情况,能够从接口在整个业务流程中的表现的角度来进行接口的测试,从而能够提高接口测试结果的准确度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种接口测试方法的流程示意图;
图2是本发明实施例公开的一种接口测试装置的结构示意图;
图3是本发明实施例公开的一种计算机设备的结构示意图;
图4是本发明实施例公开的一种计算机存储介质的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种接口测试方法、装置、计算机设备以及存储介质,获取待测试的目标接口对应的业务流程数据,获取业务流程中各个业务步骤所需要调用的接口的接口资源数据,基于接口资源数据和业务流程数据生成接口流程测试案例,最后执行接口流程测试案例以完成对目标接口对应的业务流程中所有的接口的测试,从而能够实现在进行接口测试时,对待测试的目标接口所在的业务流程中的所有接口进行测试,避免了现有的接口测试方法中割裂地对单个接口的功能进行测试的情况,能够从接口在整个业务流程中的表现的角度来进行接口的测试,从而能够提高接口测试结果的准确度。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种接口测试方法的流程示意图。如图1所示,该接口测试方法可以包括以下操作:
101、获取待测试的目标接口对应的业务流程数据,其中,所述业务流程数据记录有一个完整的业务流程中的各个业务步骤、各个业务步骤在整个业务流程中的执行顺序以及执行各个业务步骤时所需要调用的接口。
在上述步骤101中,业务流程数据可以是由测试人员根据计算机***中的实际业务流程预先设置好的,可以针对每个业务流程设置一个流程表格,流程表格中可以记录有对应的业务流程中的各个业务步骤、各个业务步骤的执行顺序以及各个业务步骤所需要调用的接口。通过查询这些流程表格,即可以获得包含目标接口的流程表格中的数据,以作为目标接口对应的业务流程数据。其中,流程表格可以如下表所示:
从中可以看出,业务流程a需要开账户接口、转入帐接口和回冲账接口配合完成,具体地,调用开账户接口来开设一个新账户,然后调用转入帐接口来将金额从转出账户中转账至新账户,最后调用回冲帐接口将转账的金额回冲至转出账户中。当待测试的目标接口为开账户接口时,获取到的业务流程数据则可以是业务流程a的流程数据。
102、获取所述业务流程中各个业务步骤所需要调用的接口的接口资源数据。
在上述步骤102中,如上表所示,当待测试的目标接口为开账户接口时,在业务流程a中还包括转入帐接口和回冲帐接口,所以可以将转入帐接口和回冲帐接口确定为流程相关接口。此时,则可以获取开账户接口、转入帐接口和回冲帐接口各自对应的接口资源数据。对接口的测试过程,可以理解为请求接口的过程,通过对接口发起请求,然后判断接口返回的数据是否符合预期,从而实现对接口进行测试。要实现对接口发起请求,通常需要一些必须的数据,如,接口的请求路径、接口的请求参数、接口的请求方式等等,这些数据即可以是接口资源数据。在接口资源数据中,可以为每一类型的数据均设置一个字段,然后将该类型的数据存储在该字段中。具体的接口资源数据的获取过程,稍后再进行具体描述。
103、基于所述接口资源数据和所述业务流程数据生成接口流程测试案例,其中,所述接口流程测试案例用于按照各个业务步骤在整个业务流程中的执行顺序,依次调用各个业务步骤所对应的接口。
在上述步骤103中,在获取到接口资源数据之后,即可以按照接口资源数据生成和业务流程数据生成接口流程测试案例。接口流程测试案例中可以包含有业务流程中的每个接口对应的接口用例,其中,每个接口对应的接口用例用于调用该接口以测试该接口的功能是否正常(一个接口用例可以理解为一个用于调用接口进行测试任务的程序),然后按照业务流程中的顺序依次调用每个接口对应的接口用例,从而完成对整个业务流程的测试。如,上表中的业务流程a的接口流程测试案例,则依次调用开账户接口、转入帐接口和回冲账接口所对应的接口用例。
104、执行所述接口流程测试案例,以完成对所述目标接口对应的业务流程中所有的接口的测试。
在上述步骤104中,接口流程测试案例可以理解为一个用于依次调用业务流程中所有的接口来进行测试任务的程序。接口流程测试案例可以包含接口的测试目标、测试环境、输入数据、预期结果和测试脚本等内容,这样,在执行接口流程测试案例时,将会模拟出在实际应用中的业务流程,依次调用业务流程中的接口,从而测试出整个业务流程的功能是否正常运转。
可见,实施图1所描述的接口测试方法,获取待测试的目标接口对应的业务流程数据,获取业务流程中各个业务步骤所需要调用的接口的接口资源数据,基于接口资源数据和业务流程数据生成接口流程测试案例,最后执行接口流程测试案例以完成对目标接口对应的业务流程中所有的接口的测试,从而能够实现在进行接口测试时,对待测试的目标接口所在的业务流程中的所有接口进行测试,避免了现有的接口测试方法中割裂地对单个接口的功能进行测试的情况,能够从接口在整个业务流程中的表现的角度来进行接口的测试,从而能够提高接口测试结果的准确度。
在一个可选的实施例中,所述接口流程测试案例包括接口流程测试正案例和接口流程测试反案例;
所述基于所述接口资源数据和所述业务流程数据生成接口流程测试案例,包括:
判断所述接口资源数据是否符合预设的数据规则;
当判断出所述接口资源数据符合所述数据规则时,调用预设的接口测试工具中的正案例生成方法对所述接口资源数据和所述业务流程数据进行处理,以生成接口流程测试正案例;
当判断出所述接口资源数据不符合所述数据规则时,调用预设的接口测试工具中的反案例生成方法对所述接口资源数据和所述业务流程数据进行处理,以生成接口流程测试反案例。在该可选的实施例中,在接口资源数据中,每个数据通常都会对应有一个字段,用于表示该字段的含义,然后可以根据实际的应用情况为不同的字段预设不同的数据规则。如,开账户接口的接口资源数据可以如下表所示:
在调用开账户接口时,要实现新建一个账户通常需要新账户的账号和密码,所以在开账户接口的接口资源数据的请求参数字段中通常需要包括新账户的账号和密码。但是,计算机***通常会对新账户的账号、密码的格式会有一定的要求,如,要求密码一定要为6位数或者要求密码一定要为8位数,此时,则可以设置请求参数字段的数据规则为要求密码一定要为6位数或者8位数。当请求参数字段的数据规则为要求密码一定要为6位数时,则上述开账户接口的接口资源数据符合数据规则,将会生成接口流程测试正案例,当请求参数字段的数据规则为要求密码一定要为8位数时,则上述开账户接口的接口资源数据不符合数据规则,将会生成接口流程测试反案例。接口流程测试正案例是一种预期接口能够正常反馈数据的测试案例,用于测试出接口在正确的请求下是否能够表现正常。接口流程测试反案例是一种预期接口不能够正常反馈数据的测试案例,用于测试出接口在不正确的请求下是否能够自动抵御,可以检查出接口的容错能力和可靠性。其中,正案例和反案例的差别在于调用接口之后的预期,正案例的预期是接口能够正常工作,接口能正常工作则通过正案例的测试,反案例的预期是接口不能够正常工作,接口不能正常工作才可以通过反案例的测试。Postman是一个常用的接口测试工具,其可以提供生成单个接口的正案例(也即正接口用例)或者反案例(也即反接口用例)的功能(如,新建一个Collection的功能,在新建一个Collection时可以设置新建的Collection是一个正案例还是一个反案例,若需要生成正案例,则将新建的Collection设置为正案例,此时新建Collection的过程即为正案例生成方法,若需要生成反案例,则将新建的Collection设置为反案例,此时新建Collection的过程即为反案例生成方法)。通常只需要输入单个接口的接口资源数据(如,接口的请求路径、接口的请求参数、接口的请求方式等),即可以生成单个接口的正案例或者反案例。在需要生成接口流程测试正案例时,即可以多次调用Postman工具中生成单个接口的正案例的功能,生成每个接口对应的正案例,然后按照业务流程数据中各个业务步骤的顺序确定各个接口对应的正案例的执行顺序,从而形成最终的接口流程测试正案例。在需要生成接口流程测试反案例时,即可以多次调用Postman工具中生成单个接口的反案例的功能,生成每个接口对应的反案例,然后按照业务流程数据中各个业务步骤的顺序确定各个接口对应的反案例的执行顺序,从而形成最终的接口流程测试反案例。根据接口资源数据是否符合预设的数据规则来生成测试正案例和测试反案例,从而能够丰富对接口的测试内容,提高接口的测试效果,提高最终测试结果的准确度。不同的字段预设的不同的数据规则可以表现为,如,要求数据的取值在一定的范围内,要求数据的取值必须是几个枚举值的其中一个等等。例如,转入帐接口的接口资源数据的请求参数字段通常会包括转账的金额,此时,则可以将请求参数字段的数据规则设置为要求转账的金额的数值在1-99999的范围内。
可见,实施该可选的实施例,在生成接口流程测试案例时,根据接口资源数据是否符合预设的数据规则来生成测试正案例和测试反案例来进行接口的测试,从而能够丰富对接口的测试内容,提高接口的测试效果,提高最终测试结果的准确度。
在一个可选的实施例中,所述获取所述业务流程中各个业务步骤所需要调用的接口的接口资源数据,包括:
按照预设的数据获取方式,获取所述业务流程中各个业务步骤所需要调用的接口的原始接口资源数据;
判断所述原始接口资源数据是否与预设的数据模板匹配;
当判断出所述原始接口资源数据与所述数据模板未匹配时,对所述原始接口资源数据执行预设的数据扩充操作,以得到所述业务流程中各个业务步骤所需要调用的接口的接口资源数据;
当判断出所述原始接口资源数据与所述数据模板匹配时,将所述原始接口资源数据确定为所述业务流程中各个业务步骤所需要调用的接口的接口资源数据。
在该可选的实施例中,在生成可以调用接口的接口流程测试案例,通常需要接口资源数据足够完整,如,对于转入帐接口,转入帐接口对应的接口资源数据必须包括金额转出账户、金额转入账户和转账的金额等数据,若缺少其中的一种数据,都将会导致接口流程测试案例无法正常生成。但是,受限于原始接口资源数据的获取方式(具体稍后进行描述),在获取到的原始接口资源数据中,并不能够保证数据足够齐全。所以可以将原始接口资源数据与预设的数据模板进行匹配,从而判断出原始接口资源数据中的数据是否齐全,若齐全,则直接将原始接口资源数据作为对应的接口资源数据,若不齐全,则对原始接口资源数据进行扩充(具体的扩充过程稍后进行描述),从而得到对应的接口资源数据。具体地,预设的数据模板中可以预设有所有必须的数据对应的字段,将原始接口资源数据与数据模板进行匹配的过程即可以是一个将原始接口资源数据中的字段与数据模板中的字段进行比对的过程,若两者的字段完全相同,则可以确定两者匹配,若两者的字段未完全相同,则可以确定两者不匹配。
可见,实施该可选的实施例,先获取目标接口和流程相关接口对应的原始接口资源数据,然后基于预设的数据模板判断原始接口资源数据是否完整,若完整,则直接将原始接口资源数据作为对应的接口资源数据,若不完整,则对原始接口资源数据进行数据扩充以得到对应的接口资源数据,从而能够保证获取到完整的接口资源数据,有利于保证接口流程测试案例的顺利生成,提高接口测试的稳定性。
在一个可选的实施例中,所述对所述原始接口资源数据执行预设的数据扩充操作,以得到所述业务流程中各个业务步骤所需要调用的接口的接口资源数据,包括:
将所述原始接口资源数据中的字段与所述数据模板中的字段进行比对,以得到所述原始接口资源数据对应的扩充字段;
按照预设的数据获取方式,获取所述扩充字段对应的扩充数据;
将所述扩充字段和所述扩充字段对应的扩充数据添加至所述原始接口资源数据中,以得到所述业务流程中各个业务步骤所需要调用的接口的接口资源数据。
在该可选的实施例中,在将原始接口资源数据中的字段与数据模板中的字段进行比对之后,可以直接将存在于数据模板中,但是未存在原始接口资源数据中的字段(即原始接口资源数据中缺失的字段)作为扩充字段。然后获取扩充字段对应的扩充数据,并将扩充字段和扩充数据添加至原始接口资源数据中,从而将数据补充完整,得到对应的接口资源数据。如,转入帐接口对应的原始接口资源数据中缺少转账的金额的数据,则可以将转账的金额的字段作为扩充字段,然后获取一个金额数值作为扩充数据,最后将该扩充字段和扩充数据添加至原始接口资源数据,从而将数据补充完整,得到对应的接口资源数据。
可见,实施该可选的实施例,通过将原始接口资源数据中的字段与数据模板中的字段进行比对得到扩充字段,然后获取扩充字段对应的扩充数据,最后将扩充字段和扩充数据添加至原始接口资源数据中,从而能够完成对原始接口资源数据的扩充,得到对应的接口资源数据。
在一个可选的实施例中,所述按照预设的数据获取方式,获取所述扩充字段对应的扩充数据,包括:
从预设的数据池中查找出包含所述扩充字段的目标数据记录,其中,所述数据池包含多个数据记录;
判断所述目标数据记录中的数据和所述原始接口资源数据是否存在关联关系;
当判断出所述目标数据记录中的数据和所述原始接口资源数据存在关联关系时,将所述目标数据记录中所述扩充字段对应的数据确定为所述扩充字段对应的扩充数据。
在该可选的实施例中,数据池中可以存储有计算机***中各种数据记录,用于记录计算机***中的数据变化情况,如,转账流水记录、新建账户记录、账户信息修改记录等。每条数据记录均存在有对应的字段,如,一条转账流水记录则通常包括金额转出账户、金额转入账户和转账的金额这三个字段。如,扩充字段为转账金额时,则可以将所有的转账流水记录作为目标数据记录,因为转账流水记录通常会包括转账金额这一字段。但是,数据池的目标数据记录通常会有多条,所以可以对目标数据记录进行筛选,从中筛选出与原始接口资源数据存在关联关系的目标数据记录,然后将存在关联关系的目标数据记录中的扩充字段的数据作为扩充字段对应的扩充数据。具体地,可以通过判断目标数据记录与原始接口资源数据之间是否存在相同的数据,来判断两者是否存在关联关系。原始接口资源数据中金额转入账户字段的内容为user1,而目标数据记录中金额转入账户字段的内容也为user1,则表示该目标数据记录与原始接口资源数据之间存在关系关系,也即该目标数据记录是一个曾经实际发生并成功转账的与user1用户相关的转账记录,所以该目标数据记录中的转账金额通常是有效的,可以将该目标数据记录中的转账金额作为原始接口资源数据中的转账金额,填充至原始接口资源数据的扩充字段中。
可见,实施该可选的实施例,首先从数据池中查找出目标数据记录,然后将与原始接口资源数据存在关联关系的目标数据记录中的扩充字段对应的数据确定为扩充字段对应的扩充数据,从而能够实现从过往的数据记录中查找合适的数据,以作为扩充数据,填充至扩充字段中,有利于保证测试的稳定进行。
在一个可选的实施例中,所述按照预设的数据获取方式,获取所述扩充字段对应的扩充数据,包括:
获取由用户设置的所述扩充字段对应的数据规则;
基于预设的数据生成程序随机地生成符合所述数据规则的目标数据;
将所述目标数据确定为所述扩充字段对应的扩充数据。
在该可选的实施例中,在数据模板中即可以预先设置每个字段对应的数据规则,这样即可以从数据模板中获取到扩充字段对应的数据规则。如,确定出的扩充字段为转账金额的字段,从数据模板中获取到转账金额字段的数据规则用于限制转账金额字段中的数据必须在1-99999的数值范围内,则数据生成程序将会在1-99999的数值范围内随机生成一个数值(如,1000),然后将该数值作为转账金额字段中的数据(即扩充数据)。
可见,实施该可选的实施例,首先获取扩充字段对应的数据规则,然后使用数据生成程序随机生成符合数据规则的目标数据,最后将目标数据确定为扩充字段对应的扩充数据,从而能够自动地生成符合扩充字段的数据规则的目标数据以作为扩充数据,填充至扩充字段中,有利于保证测试的稳定进行。
在一个可选的实施例中,所述按照预设的数据获取方式,获取所述业务流程中各个业务步骤所需要调用的接口的原始接口资源数据,包括:
获取由用户上传的接口文档,并对所述接口文档进行解析,以得到所述业务流程中各个业务步骤所需要调用的接口的原始接口资源数据,或者,
从swagger工具中获取所述业务流程中各个业务步骤所需要调用的接口的原始接口资源数据,或者,
从YAPI工具中获取所述业务流程中各个业务步骤所需要调用的接口的原始接口资源数据。
在该可选的实施例中,swagger工具和YAPI工具均是一种接口管理平台,可以直接从接口管理平台上获取到目标接口和流程相关接口对应的原始接口资源数据。本发明实施例中的接口测试方法支持与swagger工具、YAPI工具对接,从而能够适应更多的实际应用场景。还可以通过直接对接口文档进行解析,以得到原始接口资源数据。具体地,可以使用ocr技术对接口文档中的文字内容进行解析,如,识别接口文档中的关键字(如,请求路径、请求方式、请求参数),然后可以根据识别到的关键字在接口文档中的位置从接口文档中提取出有效的信息作为原始接口资源数据。其中,接口文档是一个由测试人员预先编写的,记录有具体的接口的相关参数的文档。
可见,实施该可选实施例,通过对接口文档进行解析、与swagger工具对接或者与YAPI工具对接的方式,来获取原始接口资源数据,从而能够提供多种获取原始接口资源数据的方式,使得接口测试方法能够更好地适应不同的应用场景。
可选地,还可以:将所述接口测试方法的接口测试信息上传至区块链中。
具体来说,接口测试信息是通过运行所述接口测试方法后得到的,用于记录接口测试情况,例如,获取到的业务流程数据、确定出的流程相关接口、获取到的接口资源数据等等。将接口测试信息上传至区块链可保证其安全性和对用户的公正透明性。用户可以从区块链中下载得到该接口测试信息,以便查证所述接口测试方法的接口测试信息是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
实施例二
请参阅图2,图2是本发明实施例公开的一种接口测试装置的结构示意图。如图2所示,该接口测试装置可以包括:
获取模块201,用于获取待测试的目标接口对应的业务流程数据,其中,所述业务流程数据记录有一个完整的业务流程中的各个业务步骤、各个业务步骤在整个业务流程中的执行顺序以及执行各个业务步骤时所需要调用的接口;
所述获取模块201,还用于获取所述业务流程中各个业务步骤所需要调用的接口的接口资源数据;
生成模块202,用于基于所述接口资源数据和所述业务流程数据生成接口流程测试案例,其中,所述接口流程测试案例用于按照各个业务步骤在整个业务流程中的执行顺序,依次调用各个业务步骤所对应的接口;
执行模块203,用于执行所述接口流程测试案例,以完成对所述目标接口对应的业务流程中所有的接口的测试。
对于上述接口测试装置的具体描述可以参照上述接口测试方法的具体描述,为避免重复,在此不再一一赘述。
实施例三
请参阅图3,图3是本发明实施例公开的一种计算机设备的结构示意图。如图3所示,该计算机设备可以包括:
存储有可执行程序代码的存储器301;
与存储器301连接的处理器302;
处理器302调用存储器301中存储的可执行程序代码,执行本发明实施例一公开的接口测试方法中的步骤。
实施例四
请参阅图4,本发明实施例公开了一种计算机存储介质401,计算机存储介质401存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一公开的接口测试方法中的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种接口测试方法、装置、计算机设备以及存储介质所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (8)
1.一种接口测试方法,其特征在于,所述方法包括:
获取待测试的目标接口对应的业务流程数据,其中,所述业务流程数据记录有一个完整的业务流程中的各个业务步骤、各个业务步骤在整个业务流程中的执行顺序以及执行各个业务步骤时所需要调用的接口;
获取所述业务流程中各个业务步骤所需要调用的接口的接口资源数据包括:
按照预设的数据获取方式,获取所述业务流程中各个业务步骤所需要调用的接口的原始接口资源数据;
判断所述原始接口资源数据是否与预设的数据模板匹配;
当判断出所述原始接口资源数据与所述数据模板未匹配时,对所述原始接口资源数据执行预设的数据扩充操作,以得到所述业务流程中各个业务步骤所需要调用的接口的接口资源数据,包括:
将所述原始接口资源数据中的字段与所述数据模板中的字段进行比对,以得到所述原始接口资源数据对应的扩充字段;
按照预设的数据获取方式,获取所述扩充字段对应的扩充数据;
将所述扩充字段和所述扩充字段对应的扩充数据添加至所述原始接口资源数据中,以得到所述业务流程中各个业务步骤所需要调用的接口的接口资源数据;
当判断出所述原始接口资源数据与所述数据模板匹配时,将所述原始接口资源数据确定为所述业务流程中各个业务步骤所需要调用的接口的接口资源数据;
基于所述接口资源数据和所述业务流程数据生成接口流程测试案例,其中,所述接口流程测试案例用于按照各个业务步骤在整个业务流程中的执行顺序,依次调用各个业务步骤所对应的接口;
执行所述接口流程测试案例,以完成对所述目标接口对应的业务流程中所有的接口的测试。
2.根据权利要求1所述的接口测试方法,其特征在于,所述接口流程测试案例包括接口流程测试正案例和接口流程测试反案例;
所述基于所述接口资源数据和所述业务流程数据生成接口流程测试案例,包括:
判断所述接口资源数据是否符合预设的数据规则;
当判断出所述接口资源数据符合所述数据规则时,调用预设的接口测试工具中的正案例生成方法对所述接口资源数据和所述业务流程数据进行处理,以生成接口流程测试正案例;
当判断出所述接口资源数据不符合所述数据规则时,调用预设的接口测试工具中的反案例生成方法对所述接口资源数据和所述业务流程数据进行处理,以生成接口流程测试反案例。
3.根据权利要求2所述的接口测试方法,其特征在于,所述按照预设的数据获取方式,获取所述扩充字段对应的扩充数据,包括:
从预设的数据池中查找出包含所述扩充字段的目标数据记录,其中,所述数据池包含多个数据记录;
判断所述目标数据记录中的数据和所述原始接口资源数据是否存在关联关系;
当判断出所述目标数据记录中的数据和所述原始接口资源数据存在关联关系时,将所述目标数据记录中所述扩充字段对应的数据确定为所述扩充字段对应的扩充数据。
4.根据权利要求2所述的接口测试方法,其特征在于,所述按照预设的数据获取方式,获取所述扩充字段对应的扩充数据,包括:
获取由用户设置的所述扩充字段对应的数据规则;
基于预设的数据生成程序随机地生成符合所述数据规则的目标数据;
将所述目标数据确定为所述扩充字段对应的扩充数据。
5.根据权利要求1-4任一项所述的接口测试方法,其特征在于,所述按照预设的数据获取方式,获取所述业务流程中各个业务步骤所需要调用的接口的原始接口资源数据,包括:
获取由用户上传的接口文档,并对所述接口文档进行解析,以得到所述业务流程中各个业务步骤所需要调用的接口的原始接口资源数据,或者,
从swagger工具中获取所述业务流程中各个业务步骤所需要调用的接口的原始接口资源数据,或者,
从YAPI工具中获取所述业务流程中各个业务步骤所需要调用的接口的原始接口资源数据。
6.一种接口测试装置,其特征在于,所述装置包括:
获取模块,用于获取待测试的目标接口对应的业务流程数据,其中,所述业务流程数据记录有一个完整的业务流程中的各个业务步骤、各个业务步骤在整个业务流程中的执行顺序以及执行各个业务步骤时所需要调用的接口;
所述获取模块,还用于获取所述业务流程中各个业务步骤所需要调用的接口的接口资源数据,包括:
按照预设的数据获取方式,获取所述业务流程中各个业务步骤所需要调用的接口的原始接口资源数据;
判断所述原始接口资源数据是否与预设的数据模板匹配;
当判断出所述原始接口资源数据与所述数据模板未匹配时,对所述原始接口资源数据执行预设的数据扩充操作,以得到所述业务流程中各个业务步骤所需要调用的接口的接口资源数据,包括:
将所述原始接口资源数据中的字段与所述数据模板中的字段进行比对,以得到所述原始接口资源数据对应的扩充字段;
按照预设的数据获取方式,获取所述扩充字段对应的扩充数据;
将所述扩充字段和所述扩充字段对应的扩充数据添加至所述原始接口资源数据中,以得到所述业务流程中各个业务步骤所需要调用的接口的接口资源数据;
当判断出所述原始接口资源数据与所述数据模板匹配时,将所述原始接口资源数据确定为所述业务流程中各个业务步骤所需要调用的接口的接口资源数据;
生成模块,用于基于所述接口资源数据和所述业务流程数据生成接口流程测试案例,其中,所述接口流程测试案例用于按照各个业务步骤在整个业务流程中的执行顺序,依次调用各个业务步骤所对应的接口;
执行模块,用于执行所述接口流程测试案例,以完成对所述目标接口对应的业务流程中所有的接口的测试。
7.一种计算机设备,其特征在于,所述计算机设备包括:
存储有可执行程序代码的存储器;
与所述存储器连接的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-5任一项所述的接口测试方法。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述的接口测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111016967.5A CN113704123B (zh) | 2021-08-31 | 2021-08-31 | 接口测试方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111016967.5A CN113704123B (zh) | 2021-08-31 | 2021-08-31 | 接口测试方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113704123A CN113704123A (zh) | 2021-11-26 |
CN113704123B true CN113704123B (zh) | 2024-04-23 |
Family
ID=78658418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111016967.5A Active CN113704123B (zh) | 2021-08-31 | 2021-08-31 | 接口测试方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113704123B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114218114B (zh) * | 2021-12-22 | 2024-04-12 | 四川启睿克科技有限公司 | 基于接口流程编排的全自动测试数据生成方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281523A (zh) * | 2014-10-27 | 2015-01-14 | 中国建设银行股份有限公司 | 一种需求可测性分析方法及*** |
CN105955890A (zh) * | 2016-05-13 | 2016-09-21 | 中国建设银行股份有限公司 | 一种功能测试案例的生成方法及装置 |
CN109002391A (zh) * | 2018-06-28 | 2018-12-14 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 自动检测嵌入式软件接口测试数据的方法 |
CN110287101A (zh) * | 2019-05-22 | 2019-09-27 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置、计算机设备及存储介质 |
CN110309052A (zh) * | 2019-05-22 | 2019-10-08 | 梁俊杰 | 一种数据校验方法以及相关设备 |
WO2020119434A1 (zh) * | 2018-12-15 | 2020-06-18 | 深圳壹账通智能科技有限公司 | 接口数据处理方法、自动化测试方法、装置、设备和介质 |
-
2021
- 2021-08-31 CN CN202111016967.5A patent/CN113704123B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281523A (zh) * | 2014-10-27 | 2015-01-14 | 中国建设银行股份有限公司 | 一种需求可测性分析方法及*** |
CN105955890A (zh) * | 2016-05-13 | 2016-09-21 | 中国建设银行股份有限公司 | 一种功能测试案例的生成方法及装置 |
CN109002391A (zh) * | 2018-06-28 | 2018-12-14 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 自动检测嵌入式软件接口测试数据的方法 |
WO2020119434A1 (zh) * | 2018-12-15 | 2020-06-18 | 深圳壹账通智能科技有限公司 | 接口数据处理方法、自动化测试方法、装置、设备和介质 |
CN110287101A (zh) * | 2019-05-22 | 2019-09-27 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置、计算机设备及存储介质 |
CN110309052A (zh) * | 2019-05-22 | 2019-10-08 | 梁俊杰 | 一种数据校验方法以及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113704123A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177005A (zh) | 业务应用的测试方法、装置、服务器和存储介质 | |
CN108628748B (zh) | 自动化测试管理方法和自动化测试管理*** | |
CN110109681B (zh) | 不同平台间代码的转换方法及*** | |
CN112905459B (zh) | 服务接口测试方法、装置、电子设备及存储介质 | |
CN112181854A (zh) | 一种生成流程自动化脚本的方法、装置、设备及存储介质 | |
CN107357721B (zh) | 测试***的方法及装置 | |
CN113704123B (zh) | 接口测试方法、装置、设备以及存储介质 | |
CN116204438A (zh) | 测试用例生成方法、自动化测试方法和相关装置 | |
CN109189849B (zh) | 一种标准化、流程化的数据录入方法和*** | |
CN108809896A (zh) | 一种信息校验方法、装置和电子设备 | |
CN113408254A (zh) | 一种页面表单信息填写方法、装置、设备和可读介质 | |
CN112433936A (zh) | 测试方法、装置及存储介质 | |
CN112651716A (zh) | 数据处理方法、设备及存储介质 | |
CN116737535A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN116383055A (zh) | 金融场景的测试方法和装置、处理器及电子设备 | |
CN114661671A (zh) | 文件处理方法、装置、计算机可读存储介质及电子设备 | |
CN112632391A (zh) | 数据处理方法、设备及存储介质 | |
Wilson | UNIX test tools and benchmarks: methods and tools to design, develop, and execute functional, structural, reliability, and regression tests | |
CN110517010A (zh) | 一种数据处理方法、***及存储介质 | |
CN113239408B (zh) | 电子签章***、方法、装置、设备及存储介质 | |
CN112799956B (zh) | 资产识别能力测试方法、装置及***装置 | |
CN112559331A (zh) | 测试方法和装置 | |
CN115437943A (zh) | 接口文档自动化验证方法、装置和服务器 | |
CN112445461A (zh) | 一种业务规则生成方法、装置、电子设备和可读存储介质 | |
CN115203057A (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 |