CN116166533A - 接口测试方法、装置、终端设备以及存储介质 - Google Patents
接口测试方法、装置、终端设备以及存储介质 Download PDFInfo
- Publication number
- CN116166533A CN116166533A CN202211646693.2A CN202211646693A CN116166533A CN 116166533 A CN116166533 A CN 116166533A CN 202211646693 A CN202211646693 A CN 202211646693A CN 116166533 A CN116166533 A CN 116166533A
- Authority
- CN
- China
- Prior art keywords
- test
- interface
- result
- test case
- case
- 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
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
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为本申请接口测试方法第四示例性实施例的流程示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例的主要解决方案是:在预设时间点读取预设测试用例,获得对应的预期结果,其中,所述测试用例基于预设表现层状态转移接口及测试模板创建得到;运行所述测试用例,获得对应的响应结果;匹配所述响应结果与所述预期结果,得到所述测试用例的测试结果;根据所述测试结果,生成对应的测试报告。通过采用数据驱动测试,即在预设时间点自动读取测试用例并运行,得到测试用例的测试结果并生成测试报告,可以解决接口测试效率低的技术问题,提升接口测试效率。基于本申请方案,从表现层状态转移接口的测试规律出发,构建了一个基于表现层状态转移接口的测试模板,并在该测试模板上验证了本申请提出的接口测试方法的有效性,最后经过本申请方法测试接口的效率得到明显提升。
本申请实施例涉及的技术术语:
RESTfu l l,Representat i ona l State Transfer,表现层资源状态转移。其中,「表现层」其实指的是「资源」的「表现层」,所以通俗来讲就是:资源在网络中以某种表现形式进行状态转移。
资源是一种看待服务器的方式,即,将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念。因为资源是一个抽象的概念,所以它不仅能代表服务器文件***中的一个文件、数据库中的一张表等具体的东西,可以将资源设计的要多抽象有多抽象,只要想象力允许而且客户端应用开发者能够理解。与面向对象设计类似,资源是以名词为核心来组织的,首先关注的是名词。一个资源可以由一个或多个URI来标识。URI既是资源的名称,也是资源在Web上的地址。对某个资源感兴趣的客户端应用,可以通过资源的URI与其进行交互。
资源的表述:资源的表述是一段对于资源在某个特定时刻的状态的描述。可以在客户端-服务器端之间转移(交换)。资源的表述可以有多种格式,例如HTML/XML/JSON/纯文本/图片/视频/音频等。资源的表述格式可以通过协商机制来确定。请求-响应方向的表述通常使用不同的格式。
状态转移:在客户端和服务器端之间转移(transfer)代表资源状态的表述。通过转移和操作资源的表述,来间接实现操作资源的目的。
RESTfu l l的实现:即HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:GET用来获取资源,POST用来新建资源,PUT用来更新资源,DELETE用来删除资源。REST风格提倡URL地址使用统一的风格设计,从前到后各个单词使用斜杠分开,不使用问号键值对方式携带请求参数,而是将要发送给服务器的数据作为URL地址的一部分,以保证整体风格的一致性。
JSON(JavaScr ipt Object Notat ion)是一种轻量级的数据交换格式,可使人们很容易地进行阅读和编写,同时也方便了机器进行解析和生成。JSON适用于进行数据交互的场景,如网站前台与后台之间的数据交互。
URL是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它(来自百度)。通俗来说就是网址。
本申请实施例考虑到,现有的接口测试方法通过人工的方式进行测试,即需要由测试人员手动编写测试用例,当接口的入参较多时,测试人员需要手动编写数十个甚至上百个测试用例,使得测试用例编写的效率较低,进而导致接口测试的效率较低。
为了使各***或应用软件能高效、准确地测试自己提供的表现层状态转移接口是否符合标准,本申请构造一种表现层转移接口(Restfu l l)自动测试方法,该表现层转移接口自动测试方法通过配置文件的方式来实现测试用例的管理,相比传统人工手动编写代码以维护测试用例的方式,由于对测试用例的维护无需修改代码,只需修改配置文件即可,不用再维护庞大的测试代码。
具体地,参照图1,图1为本申请接口测试装置所属终端设备的功能模块示意图。该接口测试装置可以为独立于终端设备的、能够进行图片处理、网络模型训练的装置,其可以通过硬件或软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等具有数据处理功能的智能移动终端,还可以为具有数据处理功能的固定终端设备或服务器等。
在本实施例中,该接口测试装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。
存储器130中存储有操作***以及接口测试程序,接口测试装置可以将在预设时间点读的取预设测试用例,获得的对应的预期结果,基于预设表现层状态转移接口及测试模板创建得到的测试用例;运行的测试用例,获得的对应的响应结果;匹配的响应结果与预期结果,得到的测试用例的测试结果;根据测试结果,生成的对应的测试报告等信息存储于该存储器130中;输出模块110可为显示屏等。通信模块140可以包括WI F I模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。
其中,存储器130中的接口测试程序被处理器执行时实现以下步骤:
在预设时间点读取预设测试用例,获得对应的预期结果,其中,所述测试用例基于预设表现层状态转移接口及测试模板创建得到;
运行所述测试用例,获得对应的响应结果;
匹配所述响应结果与所述预期结果,得到所述测试用例的测试结果;
根据所述测试结果,生成对应的测试报告。
进一步地,存储器130中的接口测试程序被处理器执行时还实现以下步骤:
获取目标入参值;
基于所述目标入参值对所述测试模板进行信息填充,得到所述测试用例,其中,所述测试模板根据所述表现层状态转移接口生成得到。
进一步地,存储器130中的接口测试程序被处理器执行时还实现以下步骤:
获取所述表现层状态转移接口的接口地址;
解析所述接口地址,获得对应的接口入参;
针对所述接口入参进行字段配置,生成对应的测试模板。
进一步地,存储器130中的接口测试程序被处理器执行时还实现以下步骤:
获取所述接口入参的取值范围;
根据所述取值范围,生成不同目标入参值。
进一步地,存储器130中的接口测试程序被处理器执行时还实现以下步骤:
在接收到所述字段的操作请求时,根据所述字段的定位映射关系,修改所述字段。
进一步地,存储器130中的接口测试程序被处理器执行时还实现以下步骤:
从所述响应结果中提取出若干待匹配数据;
检测所述预期结果与所述待匹配数据是否匹配;
若每一待匹配数据与所述预期结果均正常,则表示所述表现层状态转移接口为正常状态。
进一步地,存储器130中的接口测试程序被处理器执行时还实现以下步骤:
获得测试方法、所述表现层状态转移接口的目标服务器;
进一步地,存储器130中的接口测试程序被处理器执行时还实现以下步骤:
通过所述测试方法向所述目标服务器发送测试请求,以接收对应的响应结果。
本实施例通过上述方案,具体通过在预设时间点读取预设测试用例,获得对应的预期结果,其中,所述测试用例基于预设表现层状态转移接口及测试模板创建得到;运行所述测试用例,获得对应的响应结果;匹配所述响应结果与所述预期结果,得到所述测试用例的测试结果;根据所述测试结果,生成对应的测试报告。通过采用数据驱动测试,即在预设时间点自动读取测试用例并运行,得到测试用例的测试结果并生成测试报告,可以解决接口测试效率低的技术问题,提升接口测试效率。基于本申请方案,从表现层状态转移接口的测试规律出发,构建了一个基于表现层状态转移接口的测试模板,并在该测试模板上验证了本申请提出的接口测试方法的有效性,最后经过本申请方法测试接口的效率得到明显提升。
基于上述终端设备架构但不限于上述架构,提出本申请方法实施例。
参照图2,图2为本申请接口测试方法第一示例性实施例的流程示意图。所述接口测试方法包括:
步骤S210,在预设时间点读取预设测试用例,获得对应的预期结果,其中,所述测试用例基于预设表现层状态转移接口及测试模板创建得到;
本实施例方法的执行主体可以是一种接口测试装置,也可以是一种接口测试终端设备或服务器,本实施例以接口测试装置进行举例,该接口测试装置可以集成在具有数据处理功能的智能手机、平板电脑等终端设备上。
本实施例方案主要实现对表现层状态转移接口尤其是表现层状态转移接口的测试,提升表现层状态转移接口测试效率。
为了使各***或应用软件能高效、准确地测试表现层状态转移接口是否符合标准,本申请实施例构造一种表现层转移接口(Restfu l l)自动测试方法,该表现层转移接口自动测试方法通过编辑配置文件的方式来实现测试用例的管理,相比传统人工手动编写代码以维护测试用例的方式,由于对测试用例的维护无需修改代码,只需修改配置文件即可,无需再维护庞大的测试代码。
具体地,配置文件包括若干个测试用例,每一测试用例对应表现层状态转移接口。通过接收用户发出的接口测试请求以进行接口测试,通过测试工具从配置文件中获得不同的测试用例,读取测试用例,得到对应待测试接口的接口信息,其中,接口信息包括但不限于接口的接口名称、接口类型,请求协议、请求路径、请求协议、入参和预期结果等。其中,预期结果用JSON格式为优选。
步骤S220,运行所述测试用例,获得对应的响应结果;
具体地,通过测试工具运行测试用例便可获取响应结果,并自动根据预期结果对响应进行验证。此外,在接收用户的接口测试请求时,通过测试工具读取测试用例中的每个待测试接口的接口信息,可以将每个待测试接口的接口信息分别存储至对应的接口信息单元。
步骤S230,匹配所述响应结果与所述预期结果,得到所述测试用例的测试结果;
具体地,在本实施例中,预期结果为用户对待测试的表现层状态转移接口的预期测试效果,通过用户对测试用例预先编辑得到。其中,测试用例的信息编辑可通过用户交互界面供用户进行输入。将用户输入的预期结果与实际输出的响应结果进行匹配,可以得到该表现层状态转移接口的测试结果。验证。
步骤S240,根据所述测试结果,生成对应的测试报告。
具体地,测试报告的存在形式包括但不限于数据、表格、文件等形式。本实施例以表格页为优选,其中,一个表格页对应一个测试用例,对同一表现层状态转移接口。如此,通过用户对表格页复制测试用例,修改成不同的测试用例(比如各种边界值入参的测试用例),使得测试后的分析工作不需要再由测试人员看失败的用例来分析,因此提高了测试效率。
本实施例通过上述方案,具体通过在预设时间点读取预设测试用例,获得对应的预期结果,其中,所述测试用例基于预设表现层状态转移接口及测试模板创建得到;运行所述测试用例,获得对应的响应结果;匹配所述响应结果与所述预期结果,得到所述测试用例的测试结果;根据所述测试结果,生成对应的测试报告。通过采用数据驱动测试,即在预设时间点自动读取测试用例并运行,得到测试用例的测试结果并生成测试报告,可以解决接口测试效率低的技术问题,提升接口测试效率。
参照图3,图3为本申请接口测试方法第二示例性实施例的流程示意图。基于上述图2所示的实施例,步骤S210,在预设时间点读取预设测试用例,获得对应的预期结果之前,还包括:
步骤S310,获取目标入参值;
具体地,由于通过配置文件的方式来实现测试用例的管理,因此当需要对测试用例进行维护时,通过用户编辑配置文件,也即,修改测试用例中的目标入参值即可,不用再维护庞大的测试代码。
进一步地,步骤S310,获取目标入参值,包括:
步骤S311,获取所述接口入参的取值范围;
具体地,从待测试接口的结构化接口数据中读取待测试接口的各个入参值的取值范围,并根据各个入参值的取值范围生成n个测试用例,n为大于1的整数。其中,每一个测试用例所包括的各个入参值的实际取值与各个入参值的取值示例相比,至少存在一个或以上入参取值不同。
步骤S312,根据所述取值范围,生成不同目标入参值。
具体地,测试用例包括待测试接口的全部接口入参的一组目标入参值,通过测试工具生成的测试用例与各个入参的取值示例存在一个入参对应的入参值不同,其中,测试用例与各个接口入参的取值示例中不同的入参值是根据各个接口入参的取值范围确定的。采用n个测试用例分别替换自动化测试用例模板中各个入参的取值示例,生成n个自动化测试用例。每一个自动化测试用例对应有一个预期结果。预期结果用于自动化测试用例后得到的期望结果。
步骤S320,基于所述目标入参值对所述测试模板进行信息填充,得到所述测试用例,其中,所述测试模板根据所述表现层状态转移接口生成得到。
具体地,通过将各待测试接口的目标入参值分别填充至待测试接口对应测试模板中的对应位置,可以生成目标接口测试用例并反馈至所述用户。
另外,还可以利用预设的接口引擎根据不同的接口信息筛选出对应的接口提示信息,以减少在填充时切换或查看项目(配置文件)的参考信息的次数,缩短编写时间,提高编写效率。在填充后生成信息完整的目标接口测试用例并反馈至用户,供用户根据实际需求填写对应操作步骤以链接到项目中对应的配置文件。例如,用户上传某个待测试项目的配置文件,并触发请求接口测试用例的操作,电子装置从请求中携带的配置文件中读取该测试项目的所有接口信息,将每个接口信息存储至对应的接口信息单元,每个接口信息单元包括对应的接口信息。
在生成一个自动化测试用例后,检测该测试用例是否是待测试接口对应的最后一个测试用例。若该测试用例不是待测试接口对应的最后一个测试用例,则继续生成下一个测试用例对应的自动化测试用例;若该测试用例是待测试接口对应的最后一个测试用例,则开始对自动化测试用例的执行过程。
本实施例中,为确保所述接口测试用例填充的正确性,嵌入了预设校验机制。所述预设校验机制用于监控填充的目标入参值是否有误,确保生成的接口测试用例的正确性,当填充的目标入参值有误时,触发预设校验机制发出预警和错误日志,并将错误日志发送至用户。
进一步地,步骤S320,基于所述目标入参值对预设测试模板进行信息填充,得到所述测试用例之前,还包括:
步骤S300,获取所述表现层状态转移接口的接口地址;
具体地,通过人工操作或测试工具自动把表现层状态转移接口的地址(URL)输入到接口地址的配置文件中,然后测试工具接受创建测试用例命令,根据创建测试用例命令获得接口地址的配置文件路径。其中,创建测试用例命令通过命令行输入得到;配置文件以exce l文件为优选,在其他实施例中,也可以是TXT、DOC等文件。
步骤S301,解析所述接口地址,获得对应的接口入参;
具体地,接口入参为表现层转移状态及接口的各属性,接口入参包括但不限于接口名称、接口类型,请求协议、请求路径、请求协议、入参和预期结果等。其中,预期结果用JSON格式为优选。通过测试工具依次连接测试接口,自动解析接口的接口入参。
步骤S302,针对所述接口入参进行字段配置,生成对应的测试模板。
具体地,依据exce l文件类型的测试模板,自动创建测试用例初始版本。其中,入参用JASON格式表达,使得能够表示各种复杂的入参。测试用例保存在exce l文件中,方便用户阅读和修改。
在本实施例中,将各目标入参值分别填充至待测试的接口测试用例中的对应位置,生成目标接口测试用例并反馈至用户。还可以利用预设的接口引擎根据不同的接口信息单元所包含的接口信息筛选出对应的接口信息,以减少在填充时切换或查看项目(配置文件)的参考信息的次数,缩短编写时间,提高编写效率,填充后生成信息完整的目标接口测试用例并反馈至用户,供用户根据实际需求填写对应操作步骤以链接到项目中对应的配置文件。
进一步地,所述测试用例包括若干字段,步骤S320,基于所述目标入参值对预设测试模板进行信息填充,得到所述测试用例之后,还包括:
步骤S330,在接收到所述字段的操作请求时,根据所述字段的定位映射关系,修改所述字段。
具体地,字段为exce l文件中的命名单元格,定位映射关系用于用户对exce l文件修改时,测试工具所接收到的字段定位。其中,测试用例的字段对应exce l文件的命名单元格,也即,使得用户在exce l文件中增加行和列时,字段定位基于命名单元格,无需基于单元格的x,y坐标,进而不影响工具读取字段值。
本实施例通过上述方案,具体通过获取所述表现层状态转移接口的接口地址;解析所述接口地址,获得对应的接口入参;针对所述接口入参进行字段配置,生成对应的测试模板;获取所述接口入参的取值范围;根据所述取值范围,生成不同目标入参值;基于所述目标入参值对所述测试模板进行信息填充,得到所述测试用例,其中,所述测试模板根据所述表现层状态转移接口生成得到。通过根据表现层状态转移接口对应得到配置模板,并基于配置模板生成测试用例并随机生成不同的目标入参值,可以提高接口测试的综合性、全面性。
参照图4,图4为本申请接口测试方法第三示例性实施例的流程示意图。基于上述图2所示的实施例,步骤S230,匹配所述响应结果与所述预期结果,得到所述测试用例的测试结果,包括:
步骤S410,从所述响应结果中提取出若干待匹配数据;
具体地,由于响应结果包括大量的接口响应信息,而用户的预期结果只需要验证某一部分信息,因此,通过从响应结果中提取出对于的待匹配数据,可以提高接口测试的效率。
步骤S420,检测所述预期结果与所述待匹配数据是否匹配;
具体地,将用户输入的用例编辑信息与预先存储的用例预期信息进行匹配,当存在一个或多个测试结果时,生成测试报告并通过用户交互界面反馈至用户,供用户从测试结果中选择用例预期信息作为该待测试接口的目标入参值。需要说明的是,存在测试结果时,判断该接口状态为合格,可以将所有状态为合格的接口存储至预设存储路径,确保可以得到合格的目标入参值。目标入参值包含待测试接口的测试用例的操作步骤,及验证合格的每个接口的接口信息(例如,接口名称、接口类型或入参等)。
步骤S430,若每一待匹配数据与所述预期结果均正常,则表示所述表现层状态转移接口为正常状态。
具体地,当监测到填充至所述待测试的接口测试用例中的预期数据错误时,触发预设的校验机制发出预警并生成预警信息,根据所述预警信息从所述待测试的接口测试用例中获取该目标数据对应的接口信息,基于该接口信息生成错误日志反馈至所述用户。
本实施例通过上述方案,具体通过从所述响应结果中提取出若干待匹配数据;检测所述预期结果与所述待匹配数据是否匹配;若每一待匹配数据与所述预期结果均正常,则表示所述表现层状态转移接口为正常状态。通过将预期结果与待匹配数据进行匹配,可以提高接口测试的准确率。
参照图5,图5为本申请接口测试方法第四示例性实施例的流程示意图。基于上述图2所示的实施例,步骤S210,在预设时间点读取预设测试用例之后,还包括:
步骤S510,获得测试方法、所述表现层状态转移接口的目标服务器;
具体地,到达测试JOB触发时间,工具逐个读取测试用例中的接口信息,并向服务器发送请求,然后收集响应结果。
进一步地,步骤S220,所述运行所述测试用例,获得对应的响应结果的步骤包括:步骤S520,通过所述测试方法向所述目标服务器发送测试请求,以接收对应的响应结果。
具体地,将响应结果与预期结果比对,得到测试用例接测试结果;汇总测试用例测试结果生成测试报告。
本实施例通过上述方案,具体通过获得测试方法、所述表现层状态转移接口的目标服务器;所述运行所述测试用例,获得对应的响应结果的步骤包括:通过所述测试方法向所述目标服务器发送测试请求,以接收对应的响应结果。通过读取测试用例以获得对应的测试方法及目标服务器,可以提高接口测试的安全性。
此外,本申请实施例还提出一种接口测试装置,所述接口测试装置包括:
用例读取模块,用于在预设时间点读取预设测试用例,获得对应的预期结果,其中,所述测试用例基于预设表现层状态转移接口及测试模板创建得到;
用例运行模块,用于运行所述测试用例,获得对应的响应结果;
结果验证模块,用于匹配所述响应结果与所述预期结果,得到所述测试用例的测试结果;
报告生成模块,用于根据所述测试结果,生成对应的测试报告。
本实施例实现接口测试的原理及实施过程,请参照上述各实施例,在此不再赘述。
此外,本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口测试程序,所述接口测试程序被所述处理器执行时实现如上所述的接口测试方法的步骤。
由于本接口测试程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有接口测试程序,所述接口测试程序被处理器执行时实现如上所述的接口测试方法的步骤。
由于本接口测试程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
相比现有技术,本申请实施例提出的接口测试方法、装置、终端设备以及存储介质,通过在预设时间点读取预设测试用例,获得对应的预期结果,其中,所述测试用例基于预设表现层状态转移接口及测试模板创建得到;运行所述测试用例,获得对应的响应结果;匹配所述响应结果与所述预期结果,得到所述测试用例的测试结果;根据所述测试结果,生成对应的测试报告。通过采用数据驱动测试,即在预设时间点自动读取测试用例并运行,得到测试用例的测试结果并生成测试报告,可以解决接口测试效率低的技术问题,提升接口测试效率。基于本申请方案,从表现层状态转移接口的测试规律出发,构建了一个基于表现层状态转移接口的测试模板,并在该测试模板上验证了本申请提出的接口测试方法的有效性,最后经过本申请方法测试接口的效率得到明显提升。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种接口测试方法,其特征在于,所述接口测试方法包括以下步骤:
在预设时间点读取预设测试用例,获得对应的预期结果,其中,所述测试用例基于预设表现层状态转移接口及测试模板创建得到;
运行所述测试用例,获得对应的响应结果;
匹配所述响应结果与所述预期结果,得到所述测试用例的测试结果;
根据所述测试结果,生成对应的测试报告。
2.如权利要求1所述的接口测试方法,其特征在于,所述在预设时间点读取预设测试用例,获得对应的预期结果的步骤之前,还包括:
获取目标入参值;
基于所述目标入参值对所述测试模板进行信息填充,得到所述测试用例,其中,所述测试模板根据所述表现层状态转移接口生成得到。
3.如权利要求2所述的接口测试方法,其特征在于,所述基于所述目标入参值对预设测试模板进行信息填充,得到所述测试用例的步骤之前,还包括:
获取所述表现层状态转移接口的接口地址;
解析所述接口地址,获得对应的接口入参;
针对所述接口入参进行字段配置,生成对应的测试模板。
4.如权利要求3所述的接口测试方法,其特征在于,所述获取目标入参值的步骤包括:
获取所述接口入参的取值范围;
根据所述取值范围,生成不同目标入参值。
5.如权利要求2所述的接口测试方法,其特征在于,所述测试用例包括若干字段,所述基于所述目标入参值对预设测试模板进行信息填充,得到所述测试用例的步骤之后,还包括:
在接收到所述字段的操作请求时,根据所述字段的定位映射关系,修改所述字段。
6.如权利要求1所述的接口测试方法,其特征在于,所述匹配所述响应结果与所述预期结果,得到所述测试用例的测试结果的步骤包括:
从所述响应结果中提取出若干待匹配数据;
检测所述预期结果与所述待匹配数据是否匹配;
若每一待匹配数据与所述预期结果均正常,则表示所述表现层状态转移接口为正常状态。
7.如权利要求1所述的接口测试方法,其特征在于,所述在预设时间点读取预设测试用例的步骤之后,还包括:
获得测试方法、所述表现层状态转移接口的目标服务器;
所述运行所述测试用例,获得对应的响应结果的步骤包括:
通过所述测试方法向所述目标服务器发送测试请求,以接收对应的响应结果。
8.一种接口测试装置,其特征在于,所述接口测试装置包括:
用例读取模块,用于在预设时间点读取预设测试用例,获得对应的预期结果,其中,所述测试用例基于预设表现层状态转移接口及测试模板创建得到;
用例运行模块,用于运行所述测试用例,获得对应的响应结果;
结果验证模块,用于匹配所述响应结果与所述预期结果,得到所述测试用例的测试结果;
报告生成模块,用于根据所述测试结果,生成对应的测试报告。
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口测试程序,所述接口测试程序被所述处理器执行时实现如权利要求1-7中任一项所述的接口测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有接口测试程序,所述接口测试程序被处理器执行时实现如权利要求1-7中任一项所述的接口测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211646693.2A CN116166533A (zh) | 2022-12-21 | 2022-12-21 | 接口测试方法、装置、终端设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211646693.2A CN116166533A (zh) | 2022-12-21 | 2022-12-21 | 接口测试方法、装置、终端设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116166533A true CN116166533A (zh) | 2023-05-26 |
Family
ID=86421073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211646693.2A Pending CN116166533A (zh) | 2022-12-21 | 2022-12-21 | 接口测试方法、装置、终端设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166533A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117347755A (zh) * | 2023-09-27 | 2024-01-05 | 广州致远仪器有限公司 | 一种基于状态机的测试方法、***、设备及存储介质 |
-
2022
- 2022-12-21 CN CN202211646693.2A patent/CN116166533A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117347755A (zh) * | 2023-09-27 | 2024-01-05 | 广州致远仪器有限公司 | 一种基于状态机的测试方法、***、设备及存储介质 |
CN117347755B (zh) * | 2023-09-27 | 2024-04-26 | 广州致远仪器有限公司 | 一种基于状态机的测试方法、***、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10613971B1 (en) | Autonomous testing of web-based applications | |
US11074067B2 (en) | Auto-generation of application programming interface (API) documentation via implementation-neutral analysis of API traffic | |
CN108319547B (zh) | 测试用例生成方法、装置和*** | |
CN109902016B (zh) | 一种Web的测试方法及测试平台 | |
US8745641B1 (en) | Automatic verification and anomaly detection in a representational state transfer (REST) application programming interface | |
CN111782330B (zh) | 一种基于Web应用的页面数据获取方法、装置及设备 | |
CN111178027A (zh) | 基于在线创建模板和在线指定数据的报告生成***和方法 | |
CN110908890A (zh) | 一种接口的自动测试方法和装置 | |
US20160292143A1 (en) | System and method for automated online wizard generation | |
CN112367220B (zh) | 一种接口测试方法、装置、存储介质及电子设备 | |
CN110647471A (zh) | 接口测试用例生成方法、电子装置及存储介质 | |
CN113296653A (zh) | 一种仿真交互模型构建方法、交互方法及相关设备 | |
CN114138244A (zh) | 模型类文件自动生成方法、装置、存储介质及电子设备 | |
CN116166533A (zh) | 接口测试方法、装置、终端设备以及存储介质 | |
CN112540925A (zh) | 新特性兼容性检测***及方法、电子设备及可读存储介质 | |
CN111078529B (zh) | 客户端写入模块测试方法、装置、电子设备 | |
CN117499287A (zh) | Web测试方法、装置、存储介质及代理服务器 | |
CN112052157A (zh) | 测试报文的构造方法、装置及*** | |
CN114968741B (zh) | 一种基于场景平台化的性能测试方法、***、设备和介质 | |
CN111309371A (zh) | 一种查询方法和装置 | |
US20220276862A1 (en) | Methods and systems for scoring quality of open source software documentation | |
CN111158973A (zh) | 一种web应用动态演化监测方法 | |
CN107797917B (zh) | 性能测试脚本生成方法及装置 | |
CN115033436A (zh) | 页面测试方法及装置、电子设备、存储介质 | |
CN113504912B (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 |