CN117743148A - 接口的测试方法和装置、存储介质及电子装置 - Google Patents

接口的测试方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN117743148A
CN117743148A CN202311586009.0A CN202311586009A CN117743148A CN 117743148 A CN117743148 A CN 117743148A CN 202311586009 A CN202311586009 A CN 202311586009A CN 117743148 A CN117743148 A CN 117743148A
Authority
CN
China
Prior art keywords
tested
test
interface
index
determining
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
Application number
CN202311586009.0A
Other languages
English (en)
Inventor
闫利华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311586009.0A priority Critical patent/CN117743148A/zh
Publication of CN117743148A publication Critical patent/CN117743148A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供了一种接口的测试方法和装置、存储介质及电子装置,其中,该接口的测试方法包括:在接收到目标对象上传的接口文档的情况下,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,其中,所述待测试指标用于指示目标接口待进行测试的指标;根据测试指标中的字段从测试代码库中确定与所述测试指标匹配的代码段;运行所述代码段,得到所述待测试指标对应的第一测试结果;根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果。解决了现有技术中,对接口的测试往往采用人工测试或脚本测试,成本较高的问题。

Description

接口的测试方法和装置、存储介质及电子装置
技术领域
本申请实施例涉及网络技术领域,具体而言,涉及一种接口的测试方法和装置、存储介质及电子装置。
背景技术
接口测试是测试系统组件间接口的一种测试方法,旨在验证不同组件间的接口是否按照预期进行通信和交互,主要用于检查接口的功能、性能、可靠性和安全性等。有效的接口测试可以尽早的发现并解决问题,从而提高系统的可靠性和稳定性。
在进行接口测试时,通过测试工具(如Postman、SoapUI、Junit)进行手动测试和编写自动化脚本进行自动化测试是两种常见的测试方式。通过测试工具进行接口测试的过程需要进行人工操作,浪费人力且执行效率相对较低;自动化测试中自动化脚本的编写则需要测试人员具有一定的编程能力,并且脚本执行过程中若出现错误不易被发现,脚本的维护也相对困难。
针对现有技术中,对接口的测试往往采用人工测试或脚本测试,成本较高的问题,尚未得到有效解决。
发明内容
本申请实施例提供了一种接口的测试方法和装置、存储介质及电子装置,对接口的测试往往采用人工测试或脚本测试,成本较高的问题。
根据本申请的一个实施例,提供了一种接口的测试方法,包括:在接收到目标对象上传的接口文档的情况下,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,其中,所述待测试指标用于指示目标接口待进行测试的指标;根据测试指标中的字段从测试代码库中确定与所述测试指标匹配的代码段;运行所述代码段,得到所述待测试指标对应的第一测试结果;根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果。
在一个示例性实施例中,其中,所述代码库中的代码类型至少包括以下之一:接口文档解析代码、指标解析代码、测试代码,其中,所述接口文档解析代码用于解析所述目标对象上传的接口文档,以得到所述接口文档包括的待测试指标和所述测试指标对应的测试标准,所述指标解析代码用于解析所述测试指标和测试标准,以得到所述测试指标和测试标准对应的测试流程,所述测试代码用于根据所述测试流程执行测试步骤。
在一个示例性实施例中,运行所述代码段,得到所述待测试指标对应的第一测试结果,包括:通过所述代码段中的第一子代码对所述待测试指标进行测试,得到所述待测试指标对应的初步测试结果;将所述初步测试结果与测试标准中的期望结果进行对比,得到所述对比结果,其中,所述对比结果用于指示所述初步测试结果是否符合期望结果;将所述对比结果确定为第一测试结果。
在一个示例性实施例中,将根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果,包括:确定所述目标接口对应的待测试指标的数量;在所述目标接口对应多个待测试指标的情况下,获取所述多个待测试指标分别对应的第一测试结果,得到测试结果集合,其中,所述第一测试结果用于指示对应的测试指标是否合格;确定所述测试结果集合中,待测试指标对应的合格比例,根据所述合格比例确定所述目标接口的第二测试结果。
在一个示例性实施例中,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,包括:确定所述接口文档对应的语言类型;根据所述语言类型确定所述接口文档对应的解析接口,其中,所述解析接口用于指示所述接口文档对应的代码调用接口;通过所述解析接口调用对应的语言类型的代码对所述接口文档进行解析,根据解析结果确定出所述接口文档中包括的待测试指标。
在一个示例性实施例中,根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果之后,所述方法还包括:将所述第二测试结果发送到所述目标对象对应的终端设备;在接收到所述目标对象基于所述第二测试结果发出的反馈信息的情况下,确定所述反馈信息所属的反馈类型;在所述反馈类型属于第一类型的情况下,确定上传模板存在异常,指示所述终端设备展示上传模板对应的修改界面,其中,所述上传模板包括多个待填写项,所述多个待填写项用于指示目标对象完成接口文档;在所述反馈类型属于第二类型的情况下,确定所述测试代码库存在异常,指示所述终端设备展示测试代码库存对应的修改界面。
在一个示例性实施例中,根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果,包括:确定接口文档中包括的待测试指标数目与所述待测试指标对应的第一测试结果数目是否一致;在所述第一测试结果数目与所述待测试指标数目不一致的情况下,直接确定所述目标接口的对应的第二测试结果为不合格。
根据本申请的另一个实施例,提供了一种接口的测试装置,包括:解析模块,用于在接收到目标对象上传的接口文档的情况下,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,其中,所述待测试指标用于指示目标接口待进行测试的指标;匹配模块,用于根据测试指标中的字段从测试代码库中确定与所述测试指标匹配的代码段;测试模块,用于运行所述代码段,得到所述待测试指标对应的第一测试结果;确定模块,用于根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,在接收到目标对象上传的接口文档的情况下,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,其中,所述待测试指标用于指示目标接口待进行测试的指标;根据测试指标中的字段从测试代码库中确定与所述测试指标匹配的代码段;运行所述代码段,得到所述待测试指标对应的第一测试结果;根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果。因此,可以解决现有技术中,对接口的测试往往采用人工测试或脚本测试,成本较高的问题。使得目标对象仅需上传的接口文档,即可得到目标接口对应的测试结果。
附图说明
图1是本申请实施例的一种接口的测试方法的计算机终端的硬件结构框图;
图2是根据本申请实施例的接口的测试方法的流程图(一);
图3是根据本申请实施例的接口的测试方法的流程图(二);
图4是根据本申请实施例的接口的测试方法的执行过程示意图;
图5是根据本申请实施例的接口的测试装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语″第一″、″第二″等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种接口的测试方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的负载资源的分配方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
图2是根据本申请实施例的接口的测试方法的流程图(一),如图2所示,该流程包括如下步骤:
步骤S202,在接收到目标对象上传的接口文档的情况下,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,其中,所述待测试指标用于指示目标接口待进行测试的指标;
针对上述步骤S202,在一个可选实施例中,所述接口文档是目标对象基于上传模板完成的,所述上传模板包括多个待填写项,目标对象根据所述待填写项完成所述上传模板;其中,所述上传模板与测试代码库存在关联关系。
需要说明的是,所述上传模板是根据不同的测试任务/测试项目制定的,而在不同的测试任务/测试项目中,所述目标接口对应的待测试项可能不同。
在一个可选实施中,在目标接口对应的测试任务/测试项目发生变化的情况下,可以对所述上传模板和所述测试代码库同步进行修改,包括:对待测试项进行修改,对测试标准进行修改等。
在一个可选实施例中,所述上传模板采用yaml的格式编写,其中,所述yaml指的是yaml格式文件,也就是数据串行格式。所述上传模板具体包括但不限于如下内容:
project:测试接口所属的项目;
version:测试接口所属项目的版本;
module:测试接口所在的模块;
interface:待测试的接口名称;
url:待测试接口的路由;
method:待测试接口的方法,如′post′,′get′,′put′,′delete′等;
return:接口返回的数据格式,以key:type的形式表示,示例如下:
{count:Integer,code:String,data:Array}。
instance_xx:接口的测试用例;
params:测试时需要输入的参数,以key:value的形式进行设置;
exec:接口测试时的执行过程,该过程的执行可能会包含其他接口、或当前接口其他用例的调用过程。总的来说,主要包含三种类型:调用当前接口、调用当前策略中其他用例、执行其他策略中用例,具体规则介绍如下:
this:该过程代码执行当前接口;
<<:*variable:引用变量指向的过程。
result:测试用例执行当前接口测试时的期望结果,该结果与返回的数据格式相对应,以示例中return为例:
code:指接口调用时的返回码,如200,201,500等。
count:返回数据的总个数。
data:返回数据的规则,如包含字段、包含内容、大于、小于、空等。
步骤S204,根据测试指标中的字段从测试代码库中确定与所述测试指标匹配的代码段;
步骤S206,运行所述代码段,得到所述待测试指标对应的第一测试结果;
步骤S208,根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果。
通过上述步骤,在接收到目标对象上传的接口文档的情况下,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,其中,所述待测试指标用于指示目标接口待进行测试的指标;根据测试指标中的字段从测试代码库中确定与所述测试指标匹配的代码段;运行所述代码段,得到所述待测试指标对应的第一测试结果;根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果。因此,可以解决现有技术中,对接口的测试往往采用人工测试或脚本测试,成本较高的问题。使得目标对象仅需上传的接口文档,即可得到目标接口对应的测试结果。
在一个示例性实施例中,其中,所述测试代码库中的代码类型至少包括以下之一:接口文档解析代码、指标解析代码、测试代码,其中,所述接口文档解析代码用于解析所述目标对象上传的接口文档,以得到所述接口文档包括的待测试指标和所述测试指标对应的测试标准,所述指标解析代码用于解析所述测试指标和测试标准,以得到所述测试指标和测试标准对应的测试流程,所述测试代码用于根据所述测试流程执行测试步骤。
也就是说,代码库包括不同类型的代码,不同类型的代码用于执行不同的测试流程。为了减少目标对象的操作难度以及时间成本,构建了测试代码库,通过执行代码库中不同的代码即可实现对目标接口的自动测试。
可选地,所述接口文档解析代码用于对yaml文件的读写、yaml文件中对其他yaml文件的引用、文件中对变量的引用等,其中,所述yaml指的是yaml格式文件,也就是数据串行格式。
在一个示例性实施例中,运行所述代码段,得到所述待测试指标对应的第一测试结果,包括:通过所述代码段中的第一子代码对所述待测试指标进行测试,得到所述待测试指标对应的初步测试结果;将所述初步测试结果与测试标准中的期望结果进行对比,得到所述对比结果,其中,所述对比结果用于指示所述初步测试结果是否符合期望结果;将所述对比结果确定为第一测试结果。
需要说明的是,不同的待测试指标对应不同的测试标准,在待测试指标为接口调用时的返回码的情况下,其对应的测试标准可以是对应的返回码,将待测试指标中的返回码和测试标准中的返回码进行对比,根据对比结果确定第一测试结果。例如,有返回码200,201,500等,待测试指标中的返回码是200,测试标准中的返回码也是200,则确定第一测试结果为合格。
通过上述实施例,将初步测试结果和期望测试结果进行对比,从而可以自动得到所述待测试指标对应的第一测试结果,节约了人工确定的时间资源和人力成本。
在一个示例性实施例中,将根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果,包括:确定所述目标接口对应的待测试指标的数量;在所述目标接口对应多个待测试指标的情况下,获取所述多个待测试指标分别对应的第一测试结果,得到测试结果集合,其中,所述第一测试结果用于指示对应的测试指标是否合格;确定所述测试结果集合中,待测试指标对应的合格比例,根据所述合格比例确定所述目标接口的第二测试结果。
需要说明的是,通常目标接口对应多个待测试指标,每个待测试指标对应一个第一测试结果,根据每个待测试指标对应的第一测试结果即可得到测试结果的集合。从而通过确定测试结果集合中的合格比例确定所述目标接口的测试结果。例如:目标接口对应100待测试指标,预设在合格比例为100%的情况下,确认所述目标接口的测试结果为合格。存在一个目标接口,98个待测试指标对应的第一测试结果为合格,两个待测试指标对应的第一测试结果为不合格,则所述目标接口对应的第二测试记过为合格。
通过上述实施例,根据测试结果集合中的待测试指标的合格比例从而确定出目标接口的测试结果,而合格比例可以根据实际情况灵活设定,从而可以自动得到所述目标接口对应的第二测试结果,节约了人工确定的时间资源和人力成本
在一个示例性实施例中,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,包括:确定所述接口文档对应的语言类型;根据所述语言类型确定所述接口文档对应的解析接口,其中,所述解析接口用于指示所述接口文档对应的代码调用接口;通过所述解析接口调用对应的语言类型的代码对所述接口文档进行解析,根据解析结果确定出所述接口文档中包括的待测试指标。
需要说明的是,所述接口文档可以是使用不同的语言类型编写的,其中,所述不同的语言类型可以是不同的编程语言。为了便于调用与所述接口文档对应的代码,需要先确定接口文档对应的语言类型,进而根据不同的语言类型确定出调用代码的接口。
通过上述实施例,根据接口文档对应的语言类型确定出对应的代码库接口,从而可以更快的实现对接口文档的解析。
在一个示例性实施例中,根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果之后,所述方法还包括:将所述第二测试结果发送到所述目标对象对应的终端设备;在接收到所述目标对象基于所述第二测试结果发出的反馈信息的情况下,确定所述反馈信息所属的反馈类型;在所述反馈类型属于第一类型的情况下,确定上传模板存在异常,指示所述终端设备展示上传模板对应的修改界面,其中,所述上传模板包括多个待填写项,所述多个待填写项用于指示目标对象完成接口文档;在所述反馈类型属于第二类型的情况下,确定所述测试代码库存在异常,指示所述终端设备展示测试代码库存对应的修改界面。
需要说明的是,在将第二测试结果发送到目标对象对应的设备后,若目标对象反馈了测试结果异常的反馈信息,需要确定反馈信息指示的是上传模板存在异常还是测试代码库存在异常,进而根据目标对象反馈的异常类型,调出与异常类型对应的修改界面,从而使得对目标接口的测试可以正常执行。即使上传模板或测试代码库存在异常,只需目标对象根据测试任务或测试项目对传模板或测试代码库进行修改,即可再次自动执行对目标接口的测试,无需人工重新执行对目标接口进行测试的全部流程,节约了时间。
在一个示例性实施例中,根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果,包括:确定接口文档中包括的待测试指标数目与所述待测试指标对应的第一测试结果数目是否一致;在所述第一测试结果数目与所述待测试指标数目不一致的情况下,直接确定所述目标接口的对应的第二测试结果为不合格。
需要说明的是,在实际应用过程中,可能出现代码与待测试指标不匹配的情况,那么就会导致返回的测试结果与实际的测试指标数目不一致的情况发生,也有可能是因为所述目标接口缺乏对应的待测试项导致的。因此当出现第一测试结果数目与所述待测试指标数目不一致的情况下,可以直接确定当前得到的第二测试结果是不合格的。然而,在这种情况下得到的不合格的测试结果并不能确定目标接口就是不合格的,所以,还可以需记录下不合格原因,发送到目标对象,以便于对测试模板或测试代码库进行同步修改。也就是说,通过待测试指标数目与第一测试结果数目即可快速确定目标接口的测试结果是否存在不合格的问题,从而可以使得测试人员(目标对象)能够尽快的做出相应的对策。
图3是根据本发明实施例的接口的测试方法的流程图(二);如图3所示:
接口自动测试方法的过程包含四个部分:制定策略规则(相当于制定上传模板)、构建策略代码库(相当于构建测试代码库)、编写测试策略用例(相当于目标对象上传测试模板)、执行测试策略用例(相当于运行所述代码段),具体流程如下:
在接收到目标对象上传的接口文档的情况下,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,其中,所述待测试指标用于指示目标接口待进行测试的指标;其中,指定所述接口文档对应的策略规则如下:制定了编写测试策略时所依据的规则,为测试策略的编写实现提供了依据,具体包含但不限如下规则:
格式:策略采用yaml的格式编写;
字段:策略中的字段是组成测试策略用例的重要部分,对策略的解析也是对这些字段进行解析,具体包含但不限于如下介绍:
project:测试接口所属的项目;
version:测试接口所属项目的版本;
module:测试接口所在的模块;
interface:待测试的接口名称;
url:待测试接口的路由;
method:待测试接口的方法,如′post′,′get′,′put′,′delete′等;
return:接口返回的数据格式,以key:type的形式表示,示例如下:
{count:Integer,code:String,data:Array}。
instance_xx:接口的测试用例;
params:测试时需要输入的参数,以key:value的形式进行设置;
exec:接口测试时的执行过程,该过程的执行可能会包含其他接口、或当前接口其他用例的调用过程。总的来说,主要包含三种类型:调用当前接口、调用当前策略中其他用例、执行其他策略中用例,具体规则介绍如下:
this:该过程代码执行当前接口;
<<:*variable:引用变量指向的过程。
result:测试用例执行当前接口测试时的期望结果,该结果与返回的数据格式相对应,以示例中return为例:
code:指接口调用时的返回码,如200,201,500等。
count:返回数据的总个数。
data:返回数据的规则,如包含字段、包含内容、大于、小于、空等。
构建策略代码库:
该过程是策略解析的重要组成部分,它在代码和策略之间进行了关联,为测试策略用例的执行提供了工具。策略代码库主要包含:文件解析、策略解析、策略执行,具体介绍如下:口文档解析代码、指标解析代码、测试代码,其中,所述接口文档解析代码用于解析所述目标对象上传的接口文档,以得到所述接口文档包括的待测试指标和所述测试指标对应的测试标准,所述指标解析代码用于解析所述测试指标和测试标准,以得到所述测试指标和测试标准对应的测试流程,所述测试代码用于根据所述测试流程执行测试步骤。
也就是说,代码库包括不同类型的代码,不同类型的代码用于执行不同的测试流程。为了减少目标对象的操作难度以及时间成本,构建了测试代码库,通过执行代码库中不同的代码即可实现对目标接口的自动测试。
可选地,所述接口文档解析代码用于对yaml文件的读写、yaml文件中对其他yaml文件的引用、文件中对变量的引用等,其中,所述yaml指的是yaml格式文件,也就是数据串行格式。
文件解析:对与文件相关内容进行解析、构建对应的代码库,主要内容包括:
yaml文件的读写、yaml文件中对其他yaml文件的引用、文件中对变量的引用等。
策略解析:只有实现了对策略的解析,才能实现基于策略的自动化接口测试。策略的解析主要是对策略实例中的执行过程、执行结果进行解析,具体介绍如下:
执行过程解析:执行步骤若是this,则调用测试策略的接口,输入对应的方法和参数执行;执行步骤若是引入的策略测试实例,则执行解析后的该实例过程。
执行结果解析:测试策略实例执行结果为通过和不通过。具体的解析过程以上述return为例,根据数据的返回格式获取返回数据并进行判断:判断返回码是否一致,判断返回数据总个数是否一致,判断返回的数据是否数据的规则一致。只有返回结果均通过时,该测试策略用例才通过。
策略执行:是测试策略实现自动化的入口,策略的执行主要包含策略与代码模块的对应、策略对应代码调用执行过程。
策略与代码模块的对应:只有策略与代码具有了对应关系,才能实现有序的代码调用过程。该过程可采用插件的形式添加到代码库和对应表中,即把规则代码添加到对应的位置,并把插件名称、调用函数名称、规则名称添加到对应的策略代码对应表中。
策略对应代码调用执行过程:调用文件解析模块代码解析策略测试用例的文件,获得待测试的接口、方法、参数;根据策略代码对应表,执行策略测试用例的过程解析和结果解析;解析完成后,返回对应的结果。
编写测试策略用例;
确定待测试的接口后,根据策略规则,编写针对该接口的测试策略用例。
测试策略的编写可参考如下示例,具体接口的测试策略用例需要根据实际的功能进行编写测试:
执行测试策略:
测试策略编写完成后,执行策略执行脚本,策略的脚本的执行可以执行一个,也可执行多个。执行后,生成对应的测试策略结果,从而判断对应的测试用例是否通过。测试策略用例执行的具体流程如图4所示,图4是根据本发明实施例的接口的测试方法的执行过程示意图,具体地:
调用测试策略执行模块,启动测试策略的执行;
调用文件解析模块,对测试策略文件、测试策略文件中的引用进行解析;
调用测试策略实例的执行过程解析模块,执行自动化测试,并记录执行结果;
调用测试策略的执行结果解析模块,根据规则对执行结果进行判断;
返回测试策略用例的自动化执行结果。
需要说明的是,若策略测试用例发生变化,只需要重新执行即可,策略代码不需要进行修改,这个过程提高了代码的可维护性,同时策略的编写更为简单高效,提高了工作效率。
通过上述方法,通过制定策略规则和构建策略规则脚本库,确定了策略规则和策略脚本的对应关系;在进行接口测试时,编写接口的测试策略用例,通过执行该用例实现基于策略的自动化接口测试。实现了基于策略的自动化接口测试,该方法提高了工作人员的工作效率、提高了代码的可维护性同时,在一定程度上提高了自动化测试的可靠性,保障了系统的安全性。该过程提高了工作人员的工作效率、提高了代码的可维护性的同时,在一定程度上提高了自动化测试过程的可靠性,保证了系统的安全性。
在本实施例中还提供了一种接口的测试装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语″模块″可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的接口的测试装置的结构框图,如图5所示,该装置包括:
解析模块52,用于在接收到目标对象上传的接口文档的情况下,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,其中,所述待测试指标用于指示目标接口待进行测试的指标;
匹配模块54,用于根据测试指标中的字段从测试代码库中确定与所述测试指标匹配的代码段;
测试模块56,用于运行所述代码段,得到所述待测试指标对应的第一测试结果;
确定模块58,用于根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果。
通过上述装置,在接收到目标对象上传的接口文档的情况下,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,其中,所述待测试指标用于指示目标接口待进行测试的指标;根据测试指标中的字段从测试代码库中确定与所述测试指标匹配的代码段;运行所述代码段,得到所述待测试指标对应的第一测试结果;根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果。因此,可以解决现有技术中,对接口的测试往往采用人工测试或脚本测试,成本较高的问题。使得目标对象仅需上传的接口文档,即可得到目标接口对应的测试结果。
在一个示例性实施例中,匹配模块54中的测试代码库还包括:所述测试代码库中的代码类型至少包括以下之一:接口文档解析代码、指标解析代码、测试代码,其中,所述接口文档解析代码用于解析所述目标对象上传的接口文档,以得到所述接口文档包括的待测试指标和所述测试指标对应的测试标准,所述指标解析代码用于解析所述测试指标和测试标准,以得到所述测试指标和测试标准对应的测试流程,所述测试代码用于根据所述测试流程执行测试步骤。
在一个示例性实施例中,测试模块56,还用于通过所述代码段中的第一子代码对所述待测试指标进行测试,得到所述待测试指标对应的初步测试结果;将所述初步测试结果与测试标准中的期望结果进行对比,得到所述对比结果,其中,所述对比结果用于指示所述初步测试结果是否符合期望结果;将所述对比结果确定为第一测试结果。
在一个示例性实施例中,确定模块58,还用于确定所述目标接口对应的待测试指标的数量;在所述目标接口对应多个待测试指标的情况下,获取所述多个待测试指标分别对应的第一测试结果,得到测试结果集合,其中,所述第一测试结果用于指示对应的测试指标是否合格;确定所述测试结果集合中,待测试指标对应的合格比例,根据所述合格比例确定所述目标接口的第二测试结果。
在一个示例性实施例中,解析模块52,还用于确定所述接口文档对应的语言类型;根据所述语言类型确定所述接口文档对应的解析接口,其中,所述解析接口用于指示所述接口文档对应的代码调用接口;通过所述解析接口调用对应的语言类型的代码对所述接口文档进行解析,根据解析结果确定出所述接口文档中包括的待测试指标。
在一个示例性实施例中,确定模块58,还用于将所述第二测试结果发送到所述目标对象对应的终端设备;在接收到所述目标对象基于所述第二测试结果发出的反馈信息的情况下,确定所述反馈信息所属的反馈类型;在所述反馈类型属于第一类型的情况下,确定上传模板存在异常,指示所述终端设备展示上传模板对应的修改界面,其中,所述上传模板包括多个待填写项,所述多个待填写项用于指示目标对象完成接口文档;在所述反馈类型属于第二类型的情况下,确定所述测试代码库存在异常,指示所述终端设备展示测试代码库存对应的修改界面。
在一个示例性实施例中,确定模块58,还用于确定接口文档中包括的待测试指标数目与所述待测试指标对应的第一测试结果数目是否一致;在所述第一测试结果数目与所述待测试指标数目不一致的情况下,直接确定所述目标接口的对应的第二测试结果为不合格。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种接口的测试方法,其特征在于,包括:
在接收到目标对象上传的接口文档的情况下,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,其中,所述待测试指标用于指示目标接口待进行测试的指标;
根据所述待测试指标中的字段从测试代码库中确定与所述待测试指标匹配的代码段;运行所述代码段,得到所述待测试指标对应的第一测试结果;
根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果。
2.根据权利要求1所述的方法,其特征在于,包括:
其中,所述测试代码库中的代码类型至少包括以下之一:接口文档解析代码、指标解析代码、测试代码,其中,所述接口文档解析代码用于解析所述目标对象上传的接口文档,以得到所述接口文档包括的待测试指标和所述待测试指标对应的测试标准,所述指标解析代码用于解析所述待测试指标和测试标准,以得到所述测试指标和测试标准对应的测试流程,所述测试代码用于根据所述测试流程执行测试步骤。
3.根据权利要求1所述的方法,其特征在于,运行所述代码段,得到所述待测试指标对应的第一测试结果,包括:
通过所述代码段中的第一子代码对所述待测试指标进行测试,得到所述待测试指标对应的初步测试结果;
将所述初步测试结果与测试标准中的期望结果进行对比,得到对比结果,其中,所述对比结果用于指示所述初步测试结果是否符合期望结果;
将所述对比结果确定为第一测试结果。
4.根据权利要求1所述的方法,其特征在于,将根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果,包括:
确定所述目标接口对应的待测试指标的数量;
在所述目标接口对应多个待测试指标的情况下,获取所述多个待测试指标分别对应的第一测试结果,得到测试结果集合,其中,所述第一测试结果用于指示对应的待测试指标是否合格;
确定所述测试结果集合中,待测试指标对应的合格比例,根据所述合格比例确定所述目标接口的第二测试结果。
5.根据权利要求1所述的方法,其特征在于,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,包括:
确定所述接口文档对应的语言类型;
根据所述语言类型确定所述接口文档对应的解析接口,其中,所述解析接口用于指示所述接口文档对应的代码调用接口;
通过所述解析接口调用对应的语言类型的代码对所述接口文档进行解析,根据解析结果确定出所述接口文档中包括的待测试指标。
6.根据权利要求1所述的方法,其特征在于,根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果之后,所述方法还包括:
将所述第二测试结果发送到所述目标对象对应的终端设备;
在接收到所述目标对象基于所述第二测试结果发出的反馈信息的情况下,确定所述反馈信息所属的反馈类型;
在所述反馈类型属于第一类型的情况下,确定上传模板存在异常,指示所述终端设备展示上传模板对应的修改界面,其中,所述上传模板包括多个待填写项,所述多个待填写项用于指示目标对象完成接口文档;
在所述反馈类型属于第二类型的情况下,确定所述测试代码库存在异常,指示所述终端设备展示测试代码库存对应的修改界面;
在所述反馈类型属于第三类型的情况下,确定所述目标对象上传的接口文档存在异常,指示所述终端设备展示所述接口文档对应的修改界面。
7.根据权利要求1所述的方法,其特征在于,根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果,包括:
确定接口文档中包括的待测试指标数目与所述待测试指标对应的第一测试结果数目是否一致;
在所述第一测试结果数目与所述待测试指标数目不一致的情况下,直接确定所述目标接口的对应的第二测试结果为不合格。
8.一种接口的测试装置,其特征在于,包括:
解析模块,用于在接收到目标对象上传的接口文档的情况下,解析所述接口文档,根据解析结果确定出所述接口文档中包括的待测试指标,其中,所述待测试指标用于指示目标接口待进行测试的指标;
匹配模块,用于根据所述待测试指标中的字段从测试代码库中确定与所述待测试指标匹配的代码段;
测试模块,用于运行所述代码段,得到所述待测试指标对应的第一测试结果;
确定模块,用于根据所述待测试指标对应的第一测试结果,确定与所述待测试指标对应的所述目标接口的第二测试结果。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法的步骤。
10.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。
CN202311586009.0A 2023-11-24 2023-11-24 接口的测试方法和装置、存储介质及电子装置 Pending CN117743148A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311586009.0A CN117743148A (zh) 2023-11-24 2023-11-24 接口的测试方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311586009.0A CN117743148A (zh) 2023-11-24 2023-11-24 接口的测试方法和装置、存储介质及电子装置

Publications (1)

Publication Number Publication Date
CN117743148A true CN117743148A (zh) 2024-03-22

Family

ID=90259955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311586009.0A Pending CN117743148A (zh) 2023-11-24 2023-11-24 接口的测试方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN117743148A (zh)

Similar Documents

Publication Publication Date Title
CN111400186B (zh) 性能测试方法及系统
CN109710810B (zh) 变更管理方法、装置、设备和存储介质
CN107145437B (zh) 一种java注解测试方法及装置
CN109344053B (zh) 接口覆盖测试方法、系统、计算机设备和存储介质
CN112039900B (zh) 网络安全风险检测方法、系统、计算机设备和存储介质
CN110096419A (zh) 接口日志的获取方法、接口日志管理服务器及业务服务器
CN111522728A (zh) 自动化测试用例的生成方法、电子设备及可读存储介质
CN114116496A (zh) 自动化测试方法、装置、设备及介质
CN111221727A (zh) 测试方法、装置、电子设备和计算机可读介质
CN114996127A (zh) 固态硬盘固件模块智能化测试方法及系统
CN113434405B (zh) 测试文件的确定方法及装置、存储介质及电子装置
CN117472767A (zh) 软件接口测试方法、装置、设备及存储介质
CN117493188A (zh) 接口测试方法及装置、电子设备及存储介质
CN112559369A (zh) 一种自动化测试方法、设备和存储介质
CN117743148A (zh) 接口的测试方法和装置、存储介质及电子装置
CN113791980B (zh) 测试用例的转化分析方法、装置、设备及存储介质
CN115657981A (zh) 验证环境中的打印信息的打印等级的设置方法及验证方法
CN115576831A (zh) 一种测试案例推荐方法、装置、设备及存储介质
CN113050925B (zh) 区块链智能合约修复方法及装置
CN114124769B (zh) 一种基站测试方法、装置、电子设备及存储介质
CN113645052B (zh) 一种固件调试方法及相关设备
CN113128848A (zh) 全业务指标的数据质量监控方法、电子设备及存储介质
CN113806231A (zh) 一种代码覆盖率分析方法、装置、设备和介质
CN114371866A (zh) 业务系统的版本重构测试方法、装置和设备
CN111752590A (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