CN116955193A - 接口测试方法、装置、设备及存储介质 - Google Patents
接口测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116955193A CN116955193A CN202310946733.3A CN202310946733A CN116955193A CN 116955193 A CN116955193 A CN 116955193A CN 202310946733 A CN202310946733 A CN 202310946733A CN 116955193 A CN116955193 A CN 116955193A
- Authority
- CN
- China
- Prior art keywords
- event
- interface
- tested
- test
- sub
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 648
- 230000008859 change Effects 0.000 claims abstract description 95
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000002093 peripheral effect Effects 0.000 claims description 42
- 238000013499 data model Methods 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 26
- 230000003993 interaction Effects 0.000 description 22
- 238000001514 detection method Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 238000013515 script Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000009960 carding Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003252 repetitive effect Effects 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
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为本申请实施例一提供的又一种接口测试方法的流程示意图;
图5为示例的生成测试用例的流程示意图;
图6为本申请实施例一提供的又一种接口测试方法的流程示意图;
图7为示例的待测事件测试计划配置流程图;
图8为本申请实施例一提供的又一种接口测试方法的流程示意图;
图9为一种待测事件的测试流程示意图;
图10为本申请实施例一提供的一种接口测试装置的流程示意图;
图11为本申请实施例三中提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1为本申请示例的应用场景示意图,示例的接口A与接口B之间需要进行接口测试,现有技术中,需要手动调整接口A与接口B的配置信息,根据接口A与接口B的配置信息测试数据,并依据创造测试数据调整接口信息,然后开展接口A与接口B之间的接口测试。示例的若接口A发生变化,比如接口A需要和其他接口进行测试时,需要重新手动调整接口A的配置信息,重新创造接口A需要和其他接口进行测试的测试数据,存在大量的手动操作与重复性操作,接口测试的效率低下;
本申请通过待测事件的代码变更记录确定发生变化的第一接口于第一接口所在的第一待测子事件,然后生成所述第一待测子事件的第一测试用例规范与第一测试数据规则,通过将代码变更记录、第一测试用例规范与第一测试数据规则输入到自动化测试平台中,使得自动化测试平台生成关于所述第一待测子事件中所有接口的镜像接口与第一测试用例,在自动化测试平台中基于所述第一测试用例中完成对所述第一待测子事件中所有接口的镜像接口的测试,通过以上的方法完成对第一待测子事件中所有接口的测试。本申请提供的接口测试的方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
图2为本申请实施例一提供的一种接口测试方法的流程示意图,如图2所示,所述方法包括:
步骤201、获取待测事件的代码变更记录,所述待测事件中包括多个待测子事件;
步骤202、基于所述待测事件的代码变更记录,确定在所述待测事件中发生变化的第一接口与所述第一接口所在的第一待测子事件;以及,生成关于所述第一待测子事件的第一测试用例规范与第一测试数据规则;
步骤203、将所述代码变更记录、所述第一测试用例规范与所述第一测试数据规则发送至自动化测试平台,以使所述自动化测试平台基于所述代码变更记录获得关于所述第一待测子事件中所有接口的镜像接口;基于所述第一测试用例规范与生成的所述镜像接口生成所述第一待测子事件的第一测试用例,并基于所述第一测试数据规则生成测试数据,并基于所述测试数据与所述第一测试用例,对所述第一待测子事件中所有接口的镜像接口进行测试,得到测试结果。
本实施例的执行主体为接口测试装置,该接口测试装置可以通过计算机程序实现,例如,应用软件等;或者,也可以实现为存储有相关计算机程序的介质,例如,U盘、云盘等;再或者,还可以通过集成或安装有相关计算机程序的实体装置实现,例如,芯片等。
结合场景示例,完成一个事件中所有接口的代码研发,并在开发环境中完成对该事件中接口代码的自测,若对该事件中接口代码的自测没有问题,则将该事件作为待测事件,在测试环境中完成对所述待测事件的代码构建。根据本次对所述待测事件构建的代码,与关于所述待测事件的历史代码,分析所述待测事件的代码变更记录。在所述待测事件中存在多个子事件,每个子事件中包括一个或多个接口,每个子事件均可完成一项操作。基于所述代码变更记录,分析发生变更的接口以及发生变更的接口所在的子事件,将发生变更的接口作为第一接口,将所述第一接口所在的待测子事件作为第一待测子事件。所述第一接口的数量可能有一个,也可能有多个,同理,所述待测子事件也可为1个或多个。所述待测事件中的接口之间的连接会发生一些变更,比如新增接口、删除接口或者改变接口之间的连接关系。比如若一个待测子事件的构成包括接口1、接口2与接口3,所述接口2分别与所述接口1和所述接口3连接,若分析代码变更记录,发现在该待测子事件中新增可接口4,所述接口4与所述接口3连接,则说明发生变化的是所述接口3与所述接口4,可将所述接口3与所述接口4作为第一接口,将该待测子事件作为所述第一待测子事件。
当确定了第一接口与所述第一接口所在的第一待测子事件后,根据所述第一接口的接口信息生成关于所述第一待测子事件的第一测试用例规范与第一测试数据规则。示例的,根据所述接口3与所述接口4的接口信息,得到所述接口3与所述接口4所在子事件的测试用例规范与测试数据规则。可在足够可用规模的服务器上预装接口自动化测试平台,将所述代码变更记录发送至所述自动化测试平台,以使所述自动化测试平台基于所述代码变更记录确定发生变更的第一接口与所述第一接口所在的第一待测子事件,当确定了所述第一待测子事件后,基于所述代码变更记录确定在所述第一待测子事件中所有的接口,并在所述自动化测试平台上创建所述第一待测子事件中所有接口对应的镜像接口。同时将生成的所述第一测试用例规范与第一测试数据规则发送至所述自动化测试平台,所述自动化测试平台会基于所述第一测试用例规范生成关于所述第一待测子事件的第一测试用例,并基于所述第一测试数据规则生成关于所述第一测试用例的第一测试数据。然后基于所述第一测试用例与所述第一测试数据对所述第一待测子事件中所有接口的镜像接口进行接口测试。示例的,可将所述接口3与所述接口4所在子事件的测试用例规范与测试数据规则发送至所述自动化测试平台,以使所述自动化测试平台基于所述接口3与所述接口4所在子事件的测试用例规范与测试数据规则,生成关于所述接口3与所述接口4的测试用例生成脚本与测试数据,所述接口3与所述接口4的测试用例生成脚本用于生成所述接口3与所述接口4之间的测试用例,基于所述接口3与所述接口4的测试用例与测试数据对所述接口3与所述接口4之间的连接进行测试。
本示例首先获取待测事件的代码变更记录,所述待测事件中包括多个待测子事件;然后基于所述待测事件的代码变更记录,确定在所述待测事件中发生变化的第一接口与所述第一接口所在的第一待测子事件;以及,生成关于所述第一待测子事件的第一测试用例规范与第一测试数据规则;最后将所述代码变更记录、所述第一测试用例规范与所述第一测试数据规则发送至自动化测试平台,以使所述自动化测试平台基于所述代码变更记录获得关于所述第一待测子事件中所有接口的镜像接口;基于所述第一测试用例规范与生成的所述镜像接口生成所述第一待测子事件的第一测试用例,并基于所述第一测试数据规则生成测试数据,并基于所述测试数据与所述第一测试用例,对所述第一待测子事件中所有接口的镜像接口进行测试,得到测试结果。本示例在自动化测试平台中通过测试用例规范与测试数据规则分别生成待测子事件的测试用例与测试数据,基于测试用例与测试数据对待测子事件中所有接口的镜像接口进行测试,可以避免手动操作和重复性操作,提高了接口测试的测试效率。
可选的,图3为本申请实施例一提供的另一种接口测试方法的流程示意图,如图3所示,所述步骤201包括:
步骤301、获取所述待测事件的当前代码与历史代码,若不存在历史代码,则将所述待测事件的当前代码作为所述待测事件的代码变更记录;
步骤302、若存在历史代码,则从所述历史代码中获取最近的历史代码,基于所述待测事件的当前代码与获取的所述最近的历史代码得到所述待测事件的代码变更记录。
结合场景示例,在分析本次对所述待测事件中接口的变更情况时,可基于之前构建并记录的关于所述待测事件的历史代码,与本次构建的关于所述待测事件的代码进行对比,得到代码变更记录。比如若在一个待测子事件的历史代码显示所述待测子事件的接口为接口1与接口2连接,但是本次构建的关于所述待测子事件的接口为接口1与接口3连接,接口3再与接口2连接,这表明在原接口1与接口2之间新增了接口3,所以可根据历史代码与本次构建的代码得到所述待测事件的代码变更记录,所述代码变更记录包括每个待测子事件的代码变更记录。但是若所述待测事件不存在历史代码,说明本次构建的代码为首次构建,可直接将本次构建的当前代码作为所述待测事件的代码变更记录。基于本示例提出的方案可以得到所述待测事件准确的代码变更记录。
可选的,图4为本申请实施例一提供的又一种接口测试方法的流程示意图,如图4所示,所述方法还包括:
步骤401、获取所述待测事件的自测历史数据与所述第一待测子事件中所有接口的接口信息;
步骤402、基于所述待测事件的自测历史数据与所述第一待测子事件中所有接口的接口信息,分析得到所述第一待测子事件中所有接口的代码实现逻辑与所涉及的数据模型,所述数据模型包括接口可传输数据的数据属性;
所述步骤202中,所述生成关于所述第一待测子事件的第一测试用例规范与第一测试数据规则,包括:
步骤403、基于所述第一待测子事件中所有接口的代码实现逻辑与所涉及的数据模型,生成所述关于所述第一待测子事件的第一测试用例规范与第一测试数据规则。
结合场景示例,图5为示例的生成测试用例的流程示意图,当基于所述代码变更记录确定了发生变更的第一接口,获取所述待测事件中接口代码的自测数据,根据所述自测数据得到所述第一接口的相关信息,主要包括接口路径、接口名称、接口参数、接口返回值、接口的参数描述与代码文件。在对所述待测事件进行自测时,基于所述待测事件中包含的待测子事件生成多个自测任务请求,并向所述待测事件依次下发生成的所述多个自测任务请求,以使所述待测事件完成对应的任务请求,基于所述待测事件完成所述多个自测任务请求的自测数据,可得知在所述待测事件中,所有接口的相关信息。
同时根据所述自测数据,判断接口与其他接口之间进行数据交互的逻辑、数据模型与接口交互数据的正常值与临界值的测试数据规则,所述数据模型表征接口可交互的数据属性,可为字符串类型、字符类型或者日期和时间类型;所述交互数据的正常值与临界值的测试数据规则表征接口进行数据交互的触发条件,比如若所述第一接口在自测数据中表征,所述第一接口只可以传输大于某个阈值的数据,则所述第一接口的交互数据的正常值与临界值的测试数据规则即为传输大于某个阈值的数据。根据所述自测数据得到所述第一待测子事件中所涉及的接口之间进行数据交互的逻辑、数据模型与接口交互数据的正常值与临界值的测试数据规则,再将以上得到的所述第一待测子事件中所涉及的接口之间进行数据交互的逻辑、数据模型与接口交互数据的正常值与临界值的测试数据规则,连接到所述自动化测试平台中,以使所述自动化测试平台得到所述第一待测子事件的第一测试用例规范与第一测试数据规则。本示例明确了得到第一测试用例规范与第一测试数据规则的条件,包括接口的实现逻辑与涉及的数据模型。
可选的,图6为本申请实施例一提供的又一种接口测试方法的流程示意图,如图6所示,所述方法还包括:
步骤601、获取所述待测事件中第一接口的数量与外围系统的数量,所述外围系统为与所述待测事件发生交互的系统;
步骤602、基于所述第一接口的数量与外围系统的数量,确定所述待测事件的复杂度,若所述待测事件的复杂度未达到复杂度上限,则所述方法还包括:生成所述待测事件中其它待测子事件的测试用例规范与测试数据规则,并将所述其它待测子事件的测试用例规范与测试数据规则送至自动化测试平台,以使所述自动化测试平台生成所述待测事件的每个待测子事件中所有接口的镜像接口、每个待测子事件的测试用例与测试数据,并基于每个待测子事件的测试用例与测试数据,对每个待测子事件中所有接口的镜像接口进行测试;
若所述待测事件的复杂度达到复杂度上限,则所述方法还包括:
步骤603、生成关于所述第一接口的接口测试用例规范与接口测试数据规则,并将所述接口测试用例规范与接口测试数据规则发送至自动化测试平台,以使所述自动化测试平台基于所述接口测试用例规范与接口测试数据规则生成所述第一接口的镜像接口、接口测试用例与接口测试数据,并基于所述接口测试用例与所述接口测试数据,对所述第一接口的镜像接口进行测试。
结合场景示例,核心系统主要负责处理各种信息,外围系统主要是辅助核心系统运转,围绕核心系统提供信息和传达指令的系统,就比如针对计算机来说,主机是核心系统,那鼠标和键盘就是外围系统。针对所述待测事件来说,获取辅助完成所述待测事件运行的外围系统数量,以及根据所述代码变更记录得到所有的第一接口的数量,所述待测事件的复杂度与外围系统的数量或第一接口的数量成正比关系,在所述待测事件过于复杂时,生成并监测每个第一待测子事件的任务过于繁重,所以可以首先根据所述外围系统的数量或第一接口的数量判断所述待测子事件的复杂度。
图7为示例的待测事件测试计划配置流程图,若判断出所述待测子事件的复杂度比较小,则根据所述待测事件中接口代码的自测数据,获取所述待测子事件中所有待测子事件中所有接口的相关信息,则根据获取的自测历史数据,得到在所述待测事件中所有接口的相关信息、其他接口之间进行数据交互的逻辑、数据模型与接口交互数据的正常值与临界值的测试数据规则。基于得到的所有接口与其他接口之间进行数据交互的逻辑、数据模型与接口交互数据的正常值与临界值的测试数据规则,连接到所述自动化测试平台中,以使所述自动化测试平台生成关于所述待测事件中每个接口的镜像接口,同时得到在所述待测数据中所有待测子事件的接口测试用例规范与接口测试数据规则,基于每个待测子事件的接口测试用例规范生成每个待测子事件的测试用例生成脚本,基于所述每个待测子事件的测试用例生成脚本生成每个待测子事件的测试用例,同时基于每个待测子事件的接口测试数据规则生成每个待测子事件的测试数据。将所述待测事件中每个待测子事件配置为测试计划,并按照所述测试计划,基于每个待测子事件对应的测试用例与测试数据对每个待测子事件中包含的镜像接口进行测试。比如若所述待测事件中存在子事件A、子事件B与子事件C三个待测子事件,基于每个待测子事件中接口之间的数据交互的逻辑、数据模型与接口交互数据的正常值与临界值的测试数据规则连接到所述自动化测试平台中,分别生成关于所述子事件A、所述子事件B与所述子事件C的测试用例与测试数据与每个接口的镜像接口,基于所述子事件A、所述子事件B与所述子事件C的测试用例与测试数据,分别完成对所述子事件A、所述子事件B与所述子事件C中每个接口的镜像接口的测试。
若判断出所述待测子事件的复杂度较大时,依然对所述待测事件中每个待测子事件进行测试,会导致资源的浪费,降低测试效率,所以在所述待测子事件的复杂度较大时,可选择不对所有的待测子事件进行测试。具体的,确定每个第一接口,与包含任意第一接口的所有第一待测子事件。基于所述自测历史数据,得到每个第一待测子事件中涉及的所有接口与其他接口之间进行数据交互的逻辑、数据模型与接口交互数据的正常值与临界值的测试数据规则,连接到所述自动化测试平台中,以使所述自动化测试平台生成每个第一接口的镜像接口,同时生成每个第一待测子事件对应的测试用例,并生成每个第一接口对应的接口测试用例,将所述第一待测子事件与每个第一接口加入到测试计划中,基于每个第一待测子事件对应的测试用例完成对每个待测子事件的测试之外,还基于每个第一接口对应的接口测试用例对每个第一接口的镜像接口完成测试。比如,在所述待测事件中包括存在子事件A、子事件B与子事件C三个待测子事件,其中第一接口为接口A、接口B与接口C,其中接口A与接口B位于所述子事件A中,所述接口C位于所述子事件B中。则将所述子事件A与所述子事件B加入到测试计划中,同时单独将接口A、接口B与接口C加入到测试计划中,按照测试计划,基于子事件A与所述子事件B完成对所述子事件A与所述子事件B的测试之外,同时基于接口A、接口B与接口C的接口测试用例完成对接口A、接口B与接口C的测试。本示例通过判断所述待测事件的复杂度,针对事件复杂与不复杂提出各自对应的测试计划,使得对所述待测事件的测试不会造成资源浪费,也可提高对复杂度较高的待测事件的测试效率。
可选的,图8为本申请实施例一提供的又一种接口测试方法的流程示意图,如图8所示,所述步骤602包括:
步骤801、设置第一数量阈值与第二数量阈值;
步骤802、若所述第一接口的数量不低于所述第一数量阈值,或外围系统的数量不低于所述第二数量阈值,则确定所述待测事件的复杂度达到复杂度上限。
结合场景示例,由于所述待观测事件的复杂度是由所述第一接口的数量与外围系统的数量确定的,所以可以设置阈值判断。具体的,可以设置所述第一接口数量的第一阈值,与所述外围接口数量的第二阈值,比如将所述第一阈值设置为m,将所述第二阈值设置为n。若所述第一接口的数量大于或者等于所述第一阈值m时,或者所述外围系统的数量大于或者等于所述第二阈值n时,说明所述待测事件较为复杂。
示例的,图9为一种待测事件的测试流程示意图,从所述自测历史数据,得到所述待测事件中每个接口的实现逻辑与所涉及的数据模型,所述数据模型包括所传输数据的属性,基于接口的实现逻辑与所涉及的数据模型,获取每个接口与其他接口进行信息交互时的调用逻辑与参数传递规则,并将接口之间的调用逻辑与参数传递关系梳理成调用逻辑列表。示例的,结合所述待观测像事件的复杂度,若所述待观测事件不复杂,则梳理的调用逻辑列表中包括所有接口与其他接口之间的调用逻辑与参数传递关系;若所述待观测事件较为复杂,则梳理的调用逻辑列表中只包括第一接口与其他接口之间的调用逻辑与参数传递关系。
基于所述调用逻辑列表中,监测在所述自动化测试平台中与所述逻辑列表中相似的测试用例,判断在所述自动化测试平台中的测试用例涉及的调用逻辑与参数传递关系,是否存在与所述调用逻辑列表中梳理的相似。若存在相似的,则直接复制在所述自动化测试平台中的测试用例,若不存在相似的,则基于所述调用逻辑列表生成相应的测试用例。示例的,若在所述调用逻辑列表中包括接口A、接口B与接口C,具体的,所述接口A与所述接口B连接,所述接口B同时与所述接口C连接,所述接口A与所述接口B,所述接口B与所述接口C之间的调用逻辑与参数传递关系被记录在所述调用逻辑列表中。示例的,若所述待测事件较为复杂,所述接口A、接口B与接口C存在于同一个待测子事件中,在对所述待测子事件进行接口之间的测试时,应该所述待测子事件的测试用例,还应该生成接口A与接口B之间的接口测试用例,所述接口B与接口C之间的接口测试用例,所述待测子事件的测试用例包括接口A与接口B之间的接口测试用例,所述接口B与接口C之间的接口测试用例。但是若在所述自动化测试平台中存在与所述接口A与所述接口B之间相似的调用逻辑与参数传递关系相似的接口测试用例,则了直接复制相似的接口测试用例至待测子事件对应的测试用例中,得到新的所述待测子事件的测试用例。在基于测试用例完成对所述待测子事件的测试时,分析接口之间是否存在相应的参数值,所述相应的参数值为符合所述接口之间参数传递关系的参数值。若存在时,则生成可以提取所述参数值的脚本,若不存在时,则基于测试用例涉及的参数传递关系的参数规则生成随机参数值,还可以基于实际场景进行微调部分配置,比如手动配置环境和用户认证信息完成对所述待测子事件的测试。本示例基于预先设置的阈值判断事件是否复杂,并可以选择复制相似的测试用例代替生成测试用例的方式,节省了测试用例生成所需的资源。
本实施例首先获取待测事件的代码变更记录,所述待测事件中包括多个待测子事件;然后基于所述待测事件的代码变更记录,确定在所述待测事件中发生变化的第一接口与所述第一接口所在的第一待测子事件;以及,生成关于所述第一待测子事件的第一测试用例规范与第一测试数据规则;最后将所述代码变更记录、所述第一测试用例规范与所述第一测试数据规则发送至自动化测试平台,以使所述自动化测试平台基于所述代码变更记录获得关于所述第一待测子事件中所有接口的镜像接口;基于所述第一测试用例规范与生成的所述镜像接口生成所述第一待测子事件的第一测试用例,并基于所述第一测试数据规则生成测试数据,并基于所述测试数据与所述第一测试用例,对所述第一待测子事件中所有接口的镜像接口进行测试,得到测试结果。本实施例在自动化测试平台中通过测试用例规范与测试数据规则分别生成待测子事件的测试用例与测试数据,基于测试用例与测试数据对待测子事件中所有接口的镜像接口进行测试,可以避免手动操作和重复性操作,提高了接口测试的测试效率。
实施例二
图10为本申请实施例一提供的一种接口测试装置的流程示意图,如图10所示,所述装置包括:
获取模块101,用于获取待测事件的代码变更记录,所述待测事件中包括多个待测子事件;
确定模块102,用于基于所述待测事件的代码变更记录,确定在所述待测事件中发生变化的第一接口与所述第一接口所在的第一待测子事件;以及,生成关于所述第一待测子事件的第一测试用例规范与第一测试数据规则;
发送模块103,用于将所述代码变更记录、所述第一测试用例规范与所述第一测试数据规则发送至自动化测试平台,以使所述自动化测试平台基于所述代码变更记录获得关于所述第一待测子事件中所有接口的镜像接口;基于所述第一测试用例规范与生成的所述镜像接口生成所述第一待测子事件的第一测试用例,并基于所述第一测试数据规则生成测试数据,并基于所述测试数据与所述第一测试用例,对所述第一待测子事件中所有接口的镜像接口进行测试,得到测试结果。
结合场景示例,完成一个事件中所有接口的代码研发,并在开发环境中完成对该事件中接口代码的自测,若对该事件中接口代码的自测没有问题,则将该事件作为待测事件,在测试环境中完成对所述待测事件的代码构建。获取模块101根据本次对所述待测事件构建的代码,与关于所述待测事件的历史代码,分析所述待测事件的代码变更记录。在所述待测事件中存在多个子事件,每个子事件中包括一个或多个接口,每个子事件均可完成一项操作。确定模块102基于所述代码变更记录,分析发生变更的接口以及发生变更的接口所在的子事件,将发生变更的接口作为第一接口,将所述第一接口所在的待测子事件作为第一待测子事件。所述第一接口的数量可能有一个,也可能有多个,同理,所述待测子事件也可为1个或多个。所述待测事件中的接口之间的连接会发生一些变更,比如新增接口、删除接口或者改变接口之间的连接关系。比如若一个待测子事件的构成包括接口1、接口2与接口3,所述接口2分别与所述接口1和所述接口3连接,若分析代码变更记录,发现在该待测子事件中新增可接口4,所述接口4与所述接口3连接,则说明发生变化的是所述接口3与所述接口4,可将所述接口3与所述接口4作为第一接口,将该待测子事件作为所述第一待测子事件。
当确定了第一接口与所述第一接口所在的第一待测子事件后,发送模块103根据所述第一接口的接口信息生成关于所述第一待测子事件的第一测试用例规范与第一测试数据规则。示例的,根据所述接口3与所述接口4的接口信息,得到所述接口3与所述接口4所在子事件的测试用例规范与测试数据规则。可在足够可用规模的服务器上预装接口自动化测试平台,将所述代码变更记录发送至所述自动化测试平台,以使所述自动化测试平台基于所述代码变更记录确定发生变更的第一接口与所述第一接口所在的第一待测子事件,当确定了所述第一待测子事件后,基于所述代码变更记录确定在所述第一待测子事件中所有的接口,并在所述自动化测试平台上创建所述第一待测子事件中所有接口对应的镜像接口。同时将生成的所述第一测试用例规范与第一测试数据规则发送至所述自动化测试平台,所述自动化测试平台会基于所述第一测试用例规范生成关于所述第一待测子事件的第一测试用例,并基于所述第一测试数据规则生成关于所述第一测试用例的第一测试数据。然后基于所述第一测试用例与所述第一测试数据对所述第一待测子事件中所有接口的镜像接口进行接口测试。示例的,可将所述接口3与所述接口4所在子事件的测试用例规范与测试数据规则发送至所述自动化测试平台,以使所述自动化测试平台基于所述接口3与所述接口4所在子事件的测试用例规范与测试数据规则,生成关于所述接口3与所述接口4的测试用例生成脚本与测试数据,所述接口3与所述接口4的测试用例生成脚本用于生成所述接口3与所述接口4之间的测试用例,基于所述接口3与所述接口4的测试用例与测试数据对所述接口3与所述接口4之间的连接进行测试。
本示例获取模块101首先获取待测事件的代码变更记录,所述待测事件中包括多个待测子事件;确定模块102然后基于所述待测事件的代码变更记录,确定在所述待测事件中发生变化的第一接口与所述第一接口所在的第一待测子事件;以及,生成关于所述第一待测子事件的第一测试用例规范与第一测试数据规则;发送模块103最后将所述代码变更记录、所述第一测试用例规范与所述第一测试数据规则发送至自动化测试平台,以使所述自动化测试平台基于所述代码变更记录获得关于所述第一待测子事件中所有接口的镜像接口;基于所述第一测试用例规范与生成的所述镜像接口生成所述第一待测子事件的第一测试用例,并基于所述第一测试数据规则生成测试数据,并基于所述测试数据与所述第一测试用例,对所述第一待测子事件中所有接口的镜像接口进行测试,得到测试结果。本示例在自动化测试平台中通过测试用例规范与测试数据规则分别生成待测子事件的测试用例与测试数据,基于测试用例与测试数据对待测子事件中所有接口的镜像接口进行测试,可以避免手动操作和重复性操作,提高了接口测试的测试效率。
可选的,获取模块101,主要用于获取所述待测事件的当前代码与历史代码,若不存在历史代码,则将所述待测事件的当前代码作为所述待测事件的代码变更记录;
获取模块101,主要还用于若存在历史代码,则从所述历史代码中获取最近的历史代码,基于所述待测事件的当前代码与获取的所述最近的历史代码得到所述待测事件的代码变更记录。
结合场景示例,在分析本次对所述待测事件中接口的变更情况时,获取模块101可基于之前构建并记录的关于所述待测事件的历史代码,与本次构建的关于所述待测事件的代码进行对比,得到代码变更记录。比如若在一个待测子事件的历史代码显示所述待测子事件的接口为接口1与接口2连接,但是本次构建的关于所述待测子事件的接口为接口1与接口3连接,接口3再与接口2连接,这表明在原接口1与接口2之间新增了接口3,所以可根据历史代码与本次构建的代码得到所述待测事件的代码变更记录,所述代码变更记录包括每个待测子事件的代码变更记录。但是若所述待测事件不存在历史代码,说明本次构建的代码为首次构建,可直接将本次构建的当前代码作为所述待测事件的代码变更记录。基于本示例提出的方案可以得到所述待测事件准确的代码变更记录。
可选的,所述装置还包括:
获取模块101,主要还用于获取所述待测事件的自测历史数据与所述第一待测子事件中所有接口的接口信息;
处理模块104,用于基于所述待测事件的自测历史数据与所述第一待测子事件中所有接口的接口信息,分析得到所述第一待测子事件中所有接口的代码实现逻辑与所涉及的数据模型,所述数据模型包括接口可传输数据的数据属性;
确定模块102,具体用于基于所述第一待测子事件中所有接口的代码实现逻辑与所涉及的数据模型,生成所述关于所述第一待测子事件的第一测试用例规范与第一测试数据规则。
结合场景示例,当基于所述代码变更记录确定了发生变更的第一接口,获取模块101获取所述待测事件中接口代码的自测数据,根据所述自测数据得到所述第一接口的相关信息,主要包括接口路径、接口名称、接口参数、接口返回值、接口的参数描述与代码文件。在对所述待测事件进行自测时,基于所述待测事件中包含的待测子事件生成多个自测任务请求,并向所述待测事件依次下发生成的所述多个自测任务请求,以使所述待测事件完成对应的任务请求,基于所述待测事件完成所述多个自测任务请求的自测数据,可得知在所述待测事件中,所有接口的相关信息。
处理模块104同时根据所述自测数据,判断接口与其他接口之间进行数据交互的逻辑、数据模型与接口交互数据的正常值与临界值的测试数据规则,所述数据模型表征接口可交互的数据属性,可为字符串类型、字符类型或者日期和时间类型;所述交互数据的正常值与临界值的测试数据规则表征接口进行数据交互的触发条件,比如若所述第一接口在自测数据中表征,所述第一接口只可以传输大于某个阈值的数据,则所述第一接口的交互数据的正常值与临界值的测试数据规则即为传输大于某个阈值的数据。确定模块102根据所述自测数据得到所述第一待测子事件中所涉及的接口之间进行数据交互的逻辑、数据模型与接口交互数据的正常值与临界值的测试数据规则,再将以上得到的所述第一待测子事件中所涉及的接口之间进行数据交互的逻辑、数据模型与接口交互数据的正常值与临界值的测试数据规则,连接到所述自动化测试平台中,以使所述自动化测试平台得到所述第一待测子事件的第一测试用例规范与第一测试数据规则。本示例明确了得到第一测试用例规范与第一测试数据规则的条件,包括接口的实现逻辑与涉及的数据模型。
可选的,获取模块101,主要还用于获取所述待测事件中第一接口的数量与外围系统的数量,所述外围系统为与所述待测事件发生交互的系统;
处理模块104,主要还用于基于所述第一接口的数量与外围系统的数量,确定所述待测事件的复杂度,若所述待测事件的复杂度未达到复杂度上限,则生成所述待测事件中其它待测子事件的测试用例规范与测试数据规则,并将所述其它待测子事件的测试用例规范与测试数据规则送至自动化测试平台,以使所述自动化测试平台生成所述待测事件的每个待测子事件中所有接口的镜像接口、每个待测子事件的测试用例与测试数据,并基于每个待测子事件的测试用例与测试数据,对每个待测子事件中所有接口的镜像接口进行测试;
处理模块104,主要还用于生成关于所述第一接口的接口测试用例规范与接口测试数据规则,并将所述接口测试用例规范与接口测试数据规则发送至自动化测试平台,以使所述自动化测试平台基于所述接口测试用例规范与接口测试数据规则生成所述第一接口的镜像接口、接口测试用例与接口测试数据,并基于所述接口测试用例与所述接口测试数据,对所述第一接口的镜像接口进行测试。
结合场景示例,核心系统主要负责处理各种信息,外围系统主要是辅助核心系统运转,围绕核心系统提供信息和传达指令的系统,就比如针对计算机来说,主机是核心系统,那鼠标和键盘就是外围系统。针对所述待测事件来说,获取模块101获取辅助完成所述待测事件运行的外围系统数量,以及处理模块104根据所述代码变更记录得到所有的第一接口的数量,所述待测事件的复杂度与外围系统的数量或第一接口的数量成正比关系,在所述待测事件过于复杂时,生成并监测每个第一待测子事件的任务过于繁重,所以可以首先根据所述外围系统的数量或第一接口的数量判断所述待测子事件的复杂度。
若判断出所述待测子事件的复杂度较大时,处理模块104依然对所述待测事件中每个待测子事件进行测试,会导致资源的浪费,降低测试效率,所以在所述待测子事件的复杂度较大时,可选择不对所有的待测子事件进行测试。具体的,确定每个第一接口,与包含任意第一接口的所有第一待测子事件。基于所述自测历史数据,得到每个第一待测子事件中涉及的所有接口与其他接口之间进行数据交互的逻辑、数据模型与接口交互数据的正常值与临界值的测试数据规则,连接到所述自动化测试平台中,以使所述自动化测试平台生成每个第一接口的镜像接口,同时生成每个第一待测子事件对应的测试用例,并生成每个第一接口对应的接口测试用例,将所述第一待测子事件与每个第一接口加入到测试计划中,基于每个第一待测子事件对应的测试用例完成对每个待测子事件的测试之外,还基于每个第一接口对应的接口测试用例对每个第一接口的镜像接口完成测试。比如,在所述待测事件中包括存在子事件A、子事件B与子事件C三个待测子事件,其中第一接口为接口A、接口B与接口C,其中接口A与接口B位于所述子事件A中,所述接口C位于所述子事件B中。则将所述子事件A与所述子事件B加入到测试计划中,同时单独将接口A、接口B与接口C加入到测试计划中,按照测试计划,基于子事件A与所述子事件B完成对所述子事件A与所述子事件B的测试之外,同时基于接口A、接口B与接口C的接口测试用例完成对接口A、接口B与接口C的测试。本示例通过判断所述待测事件的复杂度,针对事件复杂与不复杂提出各自对应的测试计划,使得对所述待测事件的测试不会造成资源浪费,也可提高对复杂度较高的待测事件的测试效率。
可选的,处理模块104,主要还用于设置第一数量阈值与第二数量阈值;
处理模块104,主要还用于若所述第一接口的数量不低于所述第一数量阈值,或外围系统的数量不低于所述第二数量阈值,则确定所述待测事件的复杂度达到复杂度上限。
由于所述待观测事件的复杂度是由所述第一接口的数量与外围系统的数量确定的,所以可以设置阈值判断。具体的,处理模块104可以设置所述第一接口数量的第一阈值,与所述外围接口数量的第二阈值,比如将所述第一阈值设置为m,将所述第二阈值设置为n。若所述第一接口的数量大于或者等于所述第一阈值m时,或者所述外围系统的数量大于或者等于所述第二阈值n时,说明所述待测事件较为复杂。
本实施例获取模块首先获取待测事件的代码变更记录,所述待测事件中包括多个待测子事件;确定模块然后基于所述待测事件的代码变更记录,确定在所述待测事件中发生变化的第一接口与所述第一接口所在的第一待测子事件;以及,生成关于所述第一待测子事件的第一测试用例规范与第一测试数据规则;发送模块最后将所述代码变更记录、所述第一测试用例规范与所述第一测试数据规则发送至自动化测试平台,以使所述自动化测试平台基于所述代码变更记录获得关于所述第一待测子事件中所有接口的镜像接口;基于所述第一测试用例规范与生成的所述镜像接口生成所述第一待测子事件的第一测试用例,并基于所述第一测试数据规则生成测试数据,并基于所述测试数据与所述第一测试用例,对所述第一待测子事件中所有接口的镜像接口进行测试,得到测试结果。本实施例在自动化测试平台中通过测试用例规范与测试数据规则分别生成待测子事件的测试用例与测试数据,基于测试用例与测试数据对待测子事件中所有接口的镜像接口进行测试,可以避免手动操作和重复性操作,提高了接口测试的测试效率。
实施例三
图11为本申请实施例三中提供的一种电子设备的结构示意图,如图11所示,该电子设备包括:
处理器(processor)291,服务器还包括了存储器(memory)292;还可以包括通信接口(Communication Interface)293和总线294。其中,处理器291、存储器292、通信接口293、可以通过总线294完成相互间的通信。通信接口293可以用于信息传输。处理器291可以调用存储器292中的逻辑指令,以执行上述实施例一的方法。
此外,上述的存储器292中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器292作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本申请实施例中的方法对应的程序指令/模块。处理器291通过运行存储在存储器292中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述实施例一的方法。
存储器292可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器292可以包括高速随机存取存储器,还可以包括非易失性存储器。
本申请实施例提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前述实施例所述的方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
进一步需要说明的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以选择以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解,上述的装置实施例仅是示意性的,本申请的装置还可通过其它的方式实现。例如,上述实施例中单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本申请各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (12)
1.一种接口测试方法,其特征在于,所述方法包括:
获取待测事件的代码变更记录,所述待测事件中包括多个待测子事件;
基于所述待测事件的代码变更记录,确定在所述待测事件中发生变化的第一接口与所述第一接口所在的第一待测子事件;以及,生成关于所述第一待测子事件的第一测试用例规范与第一测试数据规则;
将所述代码变更记录、所述第一测试用例规范与所述第一测试数据规则发送至自动化测试平台,以使所述自动化测试平台基于所述代码变更记录获得关于所述第一待测子事件中所有接口的镜像接口;基于所述第一测试用例规范与生成的所述镜像接口生成所述第一待测子事件的第一测试用例,并基于所述第一测试数据规则生成测试数据,并基于所述测试数据与所述第一测试用例,对所述第一待测子事件中所有接口的镜像接口进行测试,得到测试结果。
2.根据权利要求1所述的方法,其特征在于,所述获取待测事件的代码变更记录,包括:
获取所述待测事件的当前代码与历史代码,若不存在历史代码,则将所述待测事件的当前代码作为所述待测事件的代码变更记录;
若存在历史代码,则从所述历史代码中获取最近的历史代码,基于所述待测事件的当前代码与获取的所述最近的历史代码得到所述待测事件的代码变更记录。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述待测事件的自测历史数据与所述第一待测子事件中所有接口的接口信息;
基于所述待测事件的自测历史数据与所述第一待测子事件中所有接口的接口信息,分析得到所述第一待测子事件中所有接口的代码实现逻辑与所涉及的数据模型,所述数据模型包括接口可传输数据的数据属性;
所述生成关于所述第一待测子事件的第一测试用例规范与第一测试数据规则,包括:
基于所述第一待测子事件中所有接口的代码实现逻辑与所涉及的数据模型,生成所述关于所述第一待测子事件的第一测试用例规范与第一测试数据规则。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
获取所述待测事件中第一接口的数量与外围系统的数量,所述外围系统为与所述待测事件发生交互的系统;
基于所述第一接口的数量与外围系统的数量,确定所述待测事件的复杂度,若所述待测事件的复杂度未达到复杂度上限,则所述方法还包括:生成所述待测事件中其它待测子事件的测试用例规范与测试数据规则,并将所述其它待测子事件的测试用例规范与测试数据规则送至自动化测试平台,以使所述自动化测试平台生成所述待测事件的每个待测子事件中所有接口的镜像接口、每个待测子事件的测试用例与测试数据,并基于每个待测子事件的测试用例与测试数据,对每个待测子事件中所有接口的镜像接口进行测试;
若所述待测事件的复杂度达到复杂度上限,则所述方法还包括:
生成关于所述第一接口的接口测试用例规范与接口测试数据规则,并将所述接口测试用例规范与接口测试数据规则发送至自动化测试平台,以使所述自动化测试平台基于所述接口测试用例规范与接口测试数据规则生成所述第一接口的镜像接口、接口测试用例与接口测试数据,并基于所述接口测试用例与所述接口测试数据,对所述第一接口的镜像接口进行测试。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第一接口的数量与外围系统的数量,确定所述待测事件的复杂度,包括:
设置第一数量阈值与第二数量阈值;
若所述第一接口的数量不低于所述第一数量阈值,或外围系统的数量不低于所述第二数量阈值,则确定所述待测事件的复杂度达到复杂度上限。
6.一种接口测试装置,其特征在于,所述装置包括:
获取模块,用于获取待测事件的代码变更记录,所述待测事件中包括多个待测子事件;
确定模块,用于基于所述待测事件的代码变更记录,确定在所述待测事件中发生变化的第一接口与所述第一接口所在的第一待测子事件;以及,生成关于所述第一待测子事件的第一测试用例规范与第一测试数据规则;
发送模块,用于将所述代码变更记录、所述第一测试用例规范与所述第一测试数据规则发送至自动化测试平台,以使所述自动化测试平台基于所述代码变更记录获得关于所述第一待测子事件中所有接口的镜像接口;基于所述第一测试用例规范与生成的所述镜像接口生成所述第一待测子事件的第一测试用例,并基于所述第一测试数据规则生成测试数据,并基于所述测试数据与所述第一测试用例,对所述第一待测子事件中所有接口的镜像接口进行测试,得到测试结果。
7.根据权利要求6所述的装置,其特征在于,
所述获取模块,主要用于获取所述待测事件的当前代码与历史代码,若不存在历史代码,则将所述待测事件的当前代码作为所述待测事件的代码变更记录;
所述获取模块,主要还用于若存在历史代码,则从所述历史代码中获取最近的历史代码,基于所述待测事件的当前代码与获取的所述最近的历史代码得到所述待测事件的代码变更记录。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
所述获取模块,主要还用于获取所述待测事件的自测历史数据与所述第一待测子事件中所有接口的接口信息;
处理模块,用于基于所述待测事件的自测历史数据与所述第一待测子事件中所有接口的接口信息,分析得到所述第一待测子事件中所有接口的代码实现逻辑与所涉及的数据模型,所述数据模型包括接口可传输数据的数据属性;
所述确定模块,具体用于基于所述第一待测子事件中所有接口的代码实现逻辑与所涉及的数据模型,生成所述关于所述第一待测子事件的第一测试用例规范与第一测试数据规则。
9.根据权利要求6-8任一项所述的装置,其特征在于,
所述获取模块,主要还用于获取所述待测事件中第一接口的数量与外围系统的数量,所述外围系统为与所述待测事件发生交互的系统;
处理模块,主要还用于基于所述第一接口的数量与外围系统的数量,确定所述待测事件的复杂度,若所述待测事件的复杂度未达到复杂度上限,则生成所述待测事件中其它待测子事件的测试用例规范与测试数据规则,并将所述其它待测子事件的测试用例规范与测试数据规则送至自动化测试平台,以使所述自动化测试平台生成所述待测事件的每个待测子事件中所有接口的镜像接口、每个待测子事件的测试用例与测试数据,并基于每个待测子事件的测试用例与测试数据,对每个待测子事件中所有接口的镜像接口进行测试;
处理模块,主要还用于生成关于所述第一接口的接口测试用例规范与接口测试数据规则,并将所述接口测试用例规范与接口测试数据规则发送至自动化测试平台,以使所述自动化测试平台基于所述接口测试用例规范与接口测试数据规则生成所述第一接口的镜像接口、接口测试用例与接口测试数据,并基于所述接口测试用例与所述接口测试数据,对所述第一接口的镜像接口进行测试。
10.根据权利要求9所述的装置,其特征在于,
所述处理模块,主要还用于设置第一数量阈值与第二数量阈值;
所述处理模块,主要还用于若所述第一接口的数量不低于所述第一数量阈值,或外围系统的数量不低于所述第二数量阈值,则确定所述待测事件的复杂度达到复杂度上限。
11.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-5中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310946733.3A CN116955193A (zh) | 2023-07-28 | 2023-07-28 | 接口测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310946733.3A CN116955193A (zh) | 2023-07-28 | 2023-07-28 | 接口测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116955193A true CN116955193A (zh) | 2023-10-27 |
Family
ID=88452620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310946733.3A Pending CN116955193A (zh) | 2023-07-28 | 2023-07-28 | 接口测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116955193A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118051433A (zh) * | 2024-02-18 | 2024-05-17 | 北京安锐卓越信息技术股份有限公司 | 一种自动生成模拟接口参数数据的方法、装置及介质 |
-
2023
- 2023-07-28 CN CN202310946733.3A patent/CN116955193A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118051433A (zh) * | 2024-02-18 | 2024-05-17 | 北京安锐卓越信息技术股份有限公司 | 一种自动生成模拟接口参数数据的方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108628748B (zh) | 自动化测试管理方法和自动化测试管理系统 | |
CN109408375B (zh) | 接口文档的生成方法和装置 | |
CN108509344B (zh) | 日切跑批测试方法、设备及可读存储介质 | |
CN111651366A (zh) | Sdk测试方法、装置、设备及存储介质 | |
CN114546738B (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
CN103186444A (zh) | 一种性能测试方法、测试平台及测试机 | |
CN112579455B (zh) | 一种接口自动化测试方法、装置、电子设备及存储介质 | |
CN111459796B (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN110928777B (zh) | 测试用例的处理方法、装置、设备及存储介质 | |
CN115080398A (zh) | 一种接口自动化测试系统及方法 | |
CN111124871A (zh) | 接口测试方法及装置 | |
CN107608873B (zh) | 软件测试方法和系统及测试平台 | |
CN116955193A (zh) | 接口测试方法、装置、设备及存储介质 | |
CN113377669A (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN116166525A (zh) | 一种测试脚本的生成方法及装置 | |
CN114860613A (zh) | 一种自动化测试方法及装置 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
US20050203717A1 (en) | Automated testing system, method and program product using testing map | |
CN113515452B (zh) | 应用的自动测试方法、系统、电子设备及存储介质 | |
CN113094281B (zh) | 一种混合式App的测试方法及装置 | |
CN115904962A (zh) | 一种自动化测试方法、平台、设备及存储介质 | |
CN113704114A (zh) | 功能接口的自动化测试方法、装置、设备及介质 | |
WO2014209362A1 (en) | Simulating sensors | |
CN109800155B (zh) | 一种基于Probe的QTE联锁应用软件测试方法及装置 | |
CN110569199B (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 |