CN108446190B - 接口测试方法及装置 - Google Patents

接口测试方法及装置 Download PDF

Info

Publication number
CN108446190B
CN108446190B CN201710084564.1A CN201710084564A CN108446190B CN 108446190 B CN108446190 B CN 108446190B CN 201710084564 A CN201710084564 A CN 201710084564A CN 108446190 B CN108446190 B CN 108446190B
Authority
CN
China
Prior art keywords
interface
tested
test case
automatic test
parameter
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
Application number
CN201710084564.1A
Other languages
English (en)
Other versions
CN108446190A (zh
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201710084564.1A priority Critical patent/CN108446190B/zh
Publication of CN108446190A publication Critical patent/CN108446190A/zh
Application granted granted Critical
Publication of CN108446190B publication Critical patent/CN108446190B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本发明实施例公开了一种接口测试方法及装置,属于计算机技术领域。所述方法包括:获取待测试接口的结构化接口数据,待测试接口的结构化接口数据是指按照预设规范所表示的待测试接口的接口数据;其中,待测试接口的接口数据用于描述待测试接口的基本信息;根据待测试接口的结构化接口数据,生成可执行的自动化测试用例;通过自动化测试用例对待测试接口进行测试,得到测试结果。本发明实施例提供的技术方案,提高了测试用例编写的效率,且提高了接口测试的效率。

Description

接口测试方法及装置
技术领域
本发明实施例涉及计算机技术领域,特别涉及一种接口测试方法及装置。
背景技术
目前,电子设备通常通过接口实现各项功能。为了确保电子设备能够实现其功能,通常需要对接口的正确性与稳定性进行验证,也即接口测试。
现有技术提供的接口测试方法如下:测试人员预先编写待测试接口对应的测试用例,向待测试接口发送该测试用例对应的接口请求消息,并接收待测试接口反馈的响应消息,根据测试用例对应的接口请求消息与响应消息确定测试结果。在实际应用中,每一个接口都对应有参数,每一个参数可能有多个取值,每一个测试用例中包括所有参数的取值。为了保证对接口测试的全面性,测试人员需要编写多个测试用例,以使该多个测试用例可以覆盖所有参数取值的组合。
由于在现有技术中需要由测试人员手动编写测试用例,当接口的参数较多时,测试人员需要手动编写数十个甚至上百个测试用例,使得测试用例编写的效率较低,进而导致接口测试的效率较低。
发明内容
为了解决现有技术中需要由测试人员手动编写测试用例,导致测试用例编写的效率较低,以及接口测试的效率较低的问题,本发明实施例提供了一种接口测试方法及装置。所述技术方案如下:
第一方面,提供了一种接口测试方法,所述方法包括:
获取待测试接口的结构化接口数据,所述待测试接口的结构化接口数据是指按照预设规范所表示的所述待测试接口的接口数据;其中,所述待测试接口的接口数据用于描述所述待测试接口的基本信息;
根据所述待测试接口的结构化接口数据,生成可执行的自动化测试用例;
通过所述自动化测试用例对所述待测试接口进行测试,得到测试结果。
可选地,所述待测试接口的结构化接口数据包括:所述待测试接口的至少一个参数、每一个参数的取值示例、每一个参数的至少一个取值范围,以及每一个参数的每一个取值范围对应的预期结果;
所述根据所述待测试接口的结构化接口数据,生成可执行的自动化测试用例,包括:
从所述待测试接口的结构化接口数据中读取所述待测试接口的各个参数的取值示例,并根据所述各个参数的取值示例生成可执行的自动化测试用例模板;
从所述待测试接口的结构化接口数据中读取所述待测试接口的各个参数的取值范围,并根据所述各个参数的取值范围生成n个测试对象;其中,每一个测试对象所包括的各个参数的实际取值与所述各个参数的取值示例相比,存在一个参数的取值不同,所述n为大于1的整数;
采用所述n个测试对象分别替换所述自动化测试用例模板中所述各个参数的取值示例,生成n个所述自动化测试用例,每一个自动化测试用例对应有一个预期结果。
可选地,所述获取待测试接口的结构化接口数据,包括:
获取所述待测试接口的接口数据;
按照所述预设规范,将所述待测试接口的接口数据转化为所述待测试接口的结构化接口数据。
可选地,所述通过所述自动化测试用例对所述待测试接口进行测试,得到测试结果,包括:
采用自动化测试框架执行所述自动化测试用例,获得所述自动化测试用例对应的执行结果;
对于每一个自动化测试用例,比较所述自动化测试用例对应的执行结果和预期结果,得到所述自动化测试用例对应的测试结果。
可选地,所述通过所述自动化测试用例对所述待测试接口进行测试,得到测试结果之后,还包括:
分别将每一个自动化测试用例与其对应的测试结果进行关联匹配,生成带测试结果的自动化测试用例。
第二方面,提供了一种接口测试装置,所述装置包括:
数据获取模块,用于获取待测试接口的结构化接口数据,所述待测试接口的结构化接口数据是指按照预设规范所表示的所述待测试接口的接口数据;其中,所述待测试接口的接口数据用于描述所述待测试接口的基本信息;
用例生成模块,用于根据所述待测试接口的结构化接口数据,生成可执行的自动化测试用例;
接口测试模块,用于通过所述自动化测试用例对所述待测试接口进行测试,得到测试结果。
可选地,所述待测试接口的结构化接口数据包括:所述待测试接口的至少一个参数、每一个参数的取值示例、每一个参数的至少一个取值范围,以及每一个参数的每一个取值范围对应的预期结果;
所述用例生成模块,包括:
模板生成单元,用于从所述待测试接口的结构化接口数据中读取所述待测试接口的各个参数的取值示例,并根据所述各个参数的取值示例生成可执行的自动化测试用例模板;
对象生成单元,用于从所述待测试接口的结构化接口数据中读取所述待测试接口的各个参数的取值范围,并根据所述各个参数的取值范围生成n个测试对象;其中,每一个测试对象所包括的各个参数的实际取值与所述各个参数的取值示例相比,存在一个参数的取值不同,所述n为大于1的整数;
用例生成单元,用于采用所述n个测试对象分别替换所述自动化测试用例模板中所述各个参数的取值示例,生成n个所述自动化测试用例,每一个自动化测试用例对应有一个预期结果。
可选地,所述数据获取模块,包括:
数据获取单元,用于获取所述待测试接口的接口数据;
数据转化单元,用于按照所述预设规范,将所述待测试接口的接口数据转化为所述待测试接口的结构化接口数据。
可选地,所述接口测试模块,包括:
用例执行单元,用于采用自动化测试框架执行所述自动化测试用例,获得所述自动化测试用例对应的执行结果;
结果获取单元,用于对于每一个自动化测试用例,比较所述自动化测试用例对应的执行结果和预期结果,得到所述自动化测试用例对应的测试结果。
可选地,所述装置还包括:
用例更新模块,用于分别将每一个自动化测试用例与其对应的测试结果进行关联匹配,生成带测试结果的自动化测试用例。
本发明实施例提供的技术方案带来的有益效果包括:
通过获取待测试接口的结构化接口数据,根据待测试接口的结构化接口数据生成可执行的自动化测试用例,进而通过该自动化测试用例对待测试接口进行测试,得到测试结果;解决了现有技术中需要由测试人员手动编写测试用例,导致测试用例编写的效率较低,以及接口测试的效率较低的问题;一方面,由于测试用例能够自动化编写,因此提高了测试用例编写的效率;另一方面,由于测试用例是可执行的自动化测试用例,该自动化测试用例是可执行文件,其可以由电子设备自动执行,因此提高了接口测试的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的接口测试方法的流程图;
图2是图1所示实施例涉及的步骤102的流程图;
图3是本发明一个实施例提供的接口测试装置的框图;
图4是本发明另一个实施例提供的接口测试装置的框图;
图5是本发明一个实施例提供的电子设备的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在本发明实施例中,提供了一种自动化编写测试用例的方法,从而提高测试用例编写的效率。并且,本发明实施例中所涉及的测试用例是可执行的自动化测试用例,该自动化测试用例是可执行文件,其可以由电子设备自动执行,因此接口测试的效率也能够提高。下面将基于上面所述的本发明实施例涉及的共性方面,对本发明实施例进行进一步详细说明。
本发明实施例提供的方法,各步骤的执行主体可以是电子设备。比如,该电子设备可以是PC(Personal Computer,个人计算机)、服务器等。另外,在本发明实施例中,对待测试接口的类型不作限定,示例性地,待测试接口为Web Service(网络服务)接口、HTTP(HyperText Transfer Protocol,超文本传输协议)接口等。
请参考图1,其示出了本发明一个实施例提供的接口测试方法的流程图。该方法可以包括如下几个步骤。
步骤101,获取待测试接口的结构化接口数据。
待测试接口的结构化接口数据是指按照预设规范所表示的待测试接口的接口数据。
预设规范是指按照电子设备的识别规则所设置的规范。可选地,预设规范是根据电子设备能识别的数据类型设定的,比如,电子设备能识别的数据类型为JSON(JavaScriptObject Notation,一种轻量级的数据交换格式)格式,则预设规范是将待测试接口的接口数据表示为JSON格式。
待测试接口的接口数据用于描述待测试接口的基本信息。可选地,待测试接口的接口数据可以从待测试接口的原始接口文档中读取,其包括待测试接口的名称、服务地址、待测试接口的参数、各个参数的解释信息以及各个参数的取值示例等等。
其中,待测试接口的服务地址为待测试接口对应的URL(Uniform ResourceLocator,统一资源定位符)地址,用于指示在互联网上调用待测试接口的地址。参数的解释信息包括参数的名称、类型、参数对应的至少一个取值范围,以及该取值范围对应的预期结果与错误码。各个参数的取值示例是指待测试接口能实现其功能时各个参数对应的参数值,每个参数的取值示例可以是一个具体的数值,还可以是一个取值范围。
可选地,待测试接口的接口数据还可以包括前置条件、操作步骤等待测试接口的其它信息,本发明实施例对待测试接口的接口数据所包括的具体内容不作限定。
可选地,步骤101包括如下两个子步骤:
1、获取待测试接口的接口数据;
2、按照预设规范,将待测试接口的接口数据转化为待测试接口的结构化接口数据。
电子设备预先获取待测试接口的接口数据,然后根据预设规范,将待测试接口的接口数据转化为电子设备能识别的待测试接口的结构化接口数据。
在一个具体的例子中,待测试接口的接口数据可参考表1:
表1
Figure BDA0001226976930000061
Figure BDA0001226976930000071
在表1中,待测试接口对应的服务地址,接口名称,每一个参数及该参数对应的名称、数据类型、长度及参数说明均需要表示为JSON格式。在一个具体的例子中,待测试接口包括的参数的列表表示为JSON格式时,结果如下:Para_list=[“areajson”,“pagesize”,“start”,“threshold”]。需要说明的是,结构化数据的转换可以由人工执行,也可以由电子设备自动化执行。
步骤102,根据待测试接口的结构化接口数据,生成可执行的自动化测试用例。
测试用例是为验证应用程序的正确性与稳定性而编制的一组测试输入、执行条件及预期结果,以便测试某个应用程序路径或核实是否满足某个特定需求。现有技术中,测试用例由测试人员进行编写,电子设备在进行测试之前,通常需要对测试用例进行相应的格式转换。
自动化测试用例是电子设备能够自动执行的测试用例,也即,电子设备在进行测试之前,并不需要对自动化测试用例做相应的处理。
在本发明实施例中,每个自动化测试用例对应待测试接口中的一个参数的一种取值,电子设备自动执行自动化测试用例,以验证自动化测试用例对应的参数是否能实现其预期的功能,进而实现对待测试接口的测试。
电子设备在获取到待测试接口的结构化接口数据后,能够生成自动化测试用例,该自动化测试用例可以由电子设备自动执行,从而解决了现有技术中接口测试需要大量人工干预,导致的接口测试效率低下的问题,能够减少接口测试的人工成本,提高接口测试的效率。
下面将结合待测试接口的结构化数据的具体内容对电子设备生成自动化测试用例的步骤进行讲解。
可选地,待测试接口的结构化接口数据包括:待测试接口的至少一个参数、每一个参数的取值示例、每一个参数的至少一个取值范围,以及每一个参数的每一个取值范围对应的预期结果。
其中,待测试接口的至少一个参数是指待测试接口的所有参数,每一个参数的参数值对应有多个取值范围,每一个取值范围对应有一个预期结果,该预期结果可以从待测试接口的接口数据中的参数解释信息中直接得到。比如,待测试接口存在一个参数名称为Pagesize的参数,该参数的参数类型为int,其对应的取值范围与预期结果可以参考表2:
表2
Figure BDA0001226976930000081
可选地,步骤102包括如下三个子步骤:
步骤102a,从待测试接口的结构化接口数据中读取待测试接口的各个参数的取值示例,并根据各个参数的取值示例生成可执行的自动化测试用例模板。
电子设备首先从待测试接口的结构化接口数据中获取待测试接口的每一个参数的取值示例,,然后根据各个参数的取值示例生成自动化测试用例模板。其中,该自动化测试用例模板能够在自动化测试框架下自动执行。
自动化测试框架是由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。自动化测试用例用于组织、管理、执行自动化测试用例。可选地,自动化测试框架为Robot framework(框架)。
步骤102b,从待测试接口的结构化接口数据中读取待测试接口的各个参数的取值范围,并根据各个参数的取值范围生成n个测试对象,n为大于1的整数。
其中,每一个测试对象所包括的各个参数的实际取值与各个参数的取值示例相比,存在一个参数的取值不同。
测试对象包括待测试接口的全部参数的一组参数值,电子设备生成的测试对象与各个参数的取值示例存在一个参数对应的参数值不同,其中,测试对象与各个参数的取值示例中不同的参数值是根据各个参数的取值范围确定的。
步骤102c,采用n个测试对象分别替换自动化测试用例模板中各个参数的取值示例,生成n个自动化测试用例。
每一个自动化测试用例对应有一个预期结果。预期结果用于指示电子设备执行自动化测试用例后得到的期望结果。
电子设备生成自动化测试用例的方法与电子设备生成自动化测试用例模板的方法相同,其中,将测试对象中的各个参数的参数值替换自动化用例模板的各个参数的取值示例,即得到可执行的自动化测试用例。
可选地,电子设备根据测试对象的生成顺序依次生成测试对象对应的自动化测试用例,并且,在生成一个测试对象对应的自动化测试用例后,电子设备检测该测试对象是否是待测试接口对应的最后一个测试对象。若该测试对象不是待测试接口对应的最后一个测试对象,则电子设备继续生成下一个测试对象对应的自动化测试用例;若该测试对象是待测试接口对应的最后一个测试对象,则电子设备开始对自动化测试用例的执行过程。
步骤103,通过自动化测试用例对待测试接口进行测试,得到测试结果。
电子设备采用自动化测试框架提供的命令执行自动化测试用例,以实现对待测试接口的测试。
可选地,步骤103包括如下的两个子步骤:
1、采用自动化测试框架执行自动化测试用例,获得自动化测试用例对应的执行结果;
可选地,自动化测试框架预先设置至少一个命令,比如,该命令可以是开始测试等等,电子设备通过执行自动化测试框架提供的命令,以执行对待测试接口的测试。
2、对于每一个自动化测试用例,比较自动化测试用例对应的执行结果和预期结果,得到自动化测试用例对应的测试结果。
电子设备在获得自动化测试用例的执行结果之后,采用至少一个断言(assertion)对自动化测试用例对应的执行结果和预期结果进行比较,得到自动化测试用例对应的测试结果。其中,断言表示为一种布尔表达式,通常应用于对应用程序的源程序进行测试。
若执行结果与预期结果不一致,则自动化测试用例对应的测试结果为不通过,若执行结果与预期结果一致,则自动化测试用例对应的测试结果为通过。
可选地,电子设备可以根据自动化测试用例的生成顺序依次执行自动化测试用例,并且,在执行完一个自动化测试用例后,电子设备检测该自动化测试用例是否是待测试接口对应的最后一个自动化测试用例。若该自动化测试用例不是待测试接口对应的最后一个自动化测试用例,则电子设备继续执行下一个自动化测试用例;若该自动化测试用例是待测试接口对应的最后一个自动化测试用例,则电子设备停止对自动化测试用例的执行,并生成待测试接口对应的测试结果文件。该测试结果文件可以为HTML(HyperText MarkupLanguage,超文本标记语言)格式,也可以为XML(Extensible Markup Language,可扩展标记语言)格式,用于描述待测试接口的全部自动化测试用例对应的测试结果。
可选地,测试结果文件包括两个部分。第一部分用于显示任意一个自动化测试用例的测试结果,第二部分用于显示自动化测试用例列表,列表中包括每一个自动化测试用例的编号。
可选地,自动化测试用例的测试结果包括上述自动化测试用例的名称(FullName)、资源路径(Source)、测试时间(如起始时间(Start)、结束时间(End)、执行时长(Elapsed))、状态(Status)等。其中,资源路径用于指示该自动化测试用例的测试结果在电子设备中的存储路径。测试时间包括电子设备执行该自动化测试用例的起始时间、结束时间以及执行时长。状态用于指示该自动化测试用例的测试结果,该测试结果包括通过与失败两种状态。在一个具体的例子中,自动化测试用例的测试结果如下:
名称:WIFIBIGDATA v2.0.02general Query Macs Tracks
资源路径:E:\Auto Test\cases_pool\WIFIBIGDATA v2.0\02_general QueryMacs Tracks.txt
起始时间/结束时间/执行时长:20160704 16:23:22.156/20160704 16:23:44.633/00:00:22.477
状态:60决定性测试,59通过,1失败
60测试,59通过,1失败
可选地,测试结果文件中的第一部分显示的内容会根据触发信号而发生改变。比如,当任意一个自动化测试用例的编号获取到触发信号时,测试结果文件的第一部分则会跳转显示上述自动化测试用例对应的测试结果。
综上所述,本发明实施例提供的方法,通过获取待测试接口的结构化接口数据,根据待测试接口的结构化接口数据生成可执行的自动化测试用例,进而通过该自动化测试用例对待测试接口进行测试,得到测试结果;解决了现有技术中需要由测试人员手动编写测试用例,导致测试用例编写的效率较低,以及接口测试的效率较低的问题;一方面,由于测试用例能够自动化编写,因此提高了测试用例编写的效率;另一方面,由于测试用例是可执行的自动化测试用例,该自动化测试用例是可执行文件,其可以由电子设备自动执行,因此提高了接口测试的效率。
另外,由于自动化测试框架中预先设定了各种参数的参数类型及其对应的测试项,因此为测试不同接口提供了统一的规范。
在基于图1所示实施例提供的一个可选的实施例中,在步骤103之后,还包括如下步骤:分别将每一个自动化测试用例与其对应的测试结果进行关联匹配,生成带测试结果的自动化测试用例。
带测试结果的自动化测试用例中既包括自动化测试用例,又包括自动化测试用例对应的测试结果。可选地,带测试结果的自动化测试用例包括自动化测试用例的名称、前置条件、执行步骤、预期结果与执行结果等。
可选地,电子设备在执行完所有的自动化测试用例后,根据自动化测试用例中的特征信息与测试结果文件中的自动化测试用例对应的测试结果中的特征信息进行关联匹配。其中,特征信息用于标识自动化测试用例,特征信息可以是自动化测试用例的编号、功能、前置条件、执行步骤与预期结果等。
在一种可能的实施方式中,匹配完成后,电子设备将每一个自动化测试用例以及每一个自动化测试用例对应的测试结果以测试用例模板样式写入文档中,即可得到带测试结果的自动化测试用例。其中,测试用例模板样式用于描述文档的规范样式,比如,测试用例模板样式规定了文档单元格的背景色、边框、字体等。
在另一种可能的实施方式中,匹配完成后,电子设备将每一个自动化测试用例以及每一个自动化测试用例对应的测试结果以CSV(Comma-Separated Values,逗号分隔值)格式写入文档中,即可得到带测试结果的自动化测试用例。
综上所述,本发明实施例提供的方法,通过对自动化测试用例及其对应的测试结果进行匹配,进而自动生成带测试结果的自动化测试用例,避免了由测试人员对测试结果进行分析整理,进一步节省了人工成本。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图3,其示出了本发明一个实施例提供的接口测试装置的框图。该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:数据获取模块301、用例生成模块302和接口测试模块303。
数据获取模块301,用于获取待测试接口的结构化接口数据,所述待测试接口的结构化接口数据是指按照预设规范所表示的所述待测试接口的接口数据;其中,所述待测试接口的接口数据用于描述所述待测试接口的基本信息。
用例生成模块302,用于根据所述待测试接口的结构化接口数据,生成可执行的自动化测试用例。
接口测试模块303,用于通过所述自动化测试用例对所述待测试接口进行测试,得到测试结果。
综上所述,本发明实施例提供的装置,通过获取待测试接口的结构化接口数据,根据待测试接口的结构化接口数据生成可执行的自动化测试用例,进而通过该自动化测试用例对待测试接口进行测试,得到测试结果;解决了现有技术中需要由测试人员手动编写测试用例,导致测试用例编写的效率较低,以及接口测试的效率较低的问题;一方面,由于测试用例能够自动化编写,因此提高了测试用例编写的效率;另一方面,由于测试用例是可执行的自动化测试用例,该自动化测试用例是可执行文件,其可以由电子设备自动执行,因此提高了接口测试的效率。
在基于图3所示实施例提供的一个可选实施例中,请参考图4,所述待测试接口的结构化接口数据包括:所述待测试接口的至少一个参数、每一个参数的取值示例、每一个参数的至少一个取值范围,以及每一个参数的每一个取值范围对应的预期结果。
所述用例生成模块302,包括:模板生成单元302a、对象生成单元302b和用例生成单元302c。
模板生成单元302a,用于从所述待测试接口的结构化接口数据中读取所述待测试接口的各个参数的取值示例,并根据所述各个参数的取值示例生成可执行的自动化测试用例模板。
对象生成单元302b,用于从所述待测试接口的结构化接口数据中读取所述待测试接口的各个参数的取值范围,并根据所述各个参数的取值范围生成n个测试对象;其中,每一个测试对象所包括的各个参数的实际取值与所述各个参数的取值示例相比,存在一个参数的取值不同,所述n为大于1的整数。
用例生成单元302c,用于采用所述n个测试对象分别替换所述自动化测试用例模板中所述各个参数的取值示例,生成n个所述自动化测试用例,每一个自动化测试用例对应有一个预期结果。
在基于图3所示实施例提供的另一个可选实施例中,请参考图4,所述数据获取模块301,包括:数据获取单元301a和数据转化单元301b。
数据获取单元301a,用于获取所述待测试接口的接口数据。
数据转化单元301b,用于按照所述预设规范,将所述待测试接口的接口数据转化为所述待测试接口的结构化接口数据。
在基于图3所示实施例提供的另一个可选实施例中,请参考图4,所述接口测试模块303,包括:用例执行单元303a和结果获取单元303b。
用例执行单元303a,用于采用自动化测试框架执行所述自动化测试用例,获得所述自动化测试用例对应的执行结果。
结果获取单元303b,用于对于每一个自动化测试用例,比较所述自动化测试用例对应的执行结果和预期结果,得到所述自动化测试用例对应的测试结果。
在基于图3所示实施例提供的一个可选实施例中,请参考图4,所述装置还包括:用例更新模块304。
用例更新模块304,用于分别将每一个自动化测试用例与其对应的测试结果进行关联匹配,生成带测试结果的自动化测试用例。
需要说明的是:上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置和方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图5,其示出了本发明一个实施例提供的电子设备的结构示意图。该电子设备用于实施上述实施例中提供的接口测试方法。具体来讲:
所述电子设备500包括中央处理单元(CPU)501、包括随机存取存储器(RAM)502和只读存储器(ROM)503的***存储器504,以及连接***存储器504和中央处理单元501的***总线505。所述电子设备500还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)506,和用于存储操作***513、应用程序514和其他程序模块515的大容量存储设备507。
所述基本输入/输出***506包括有用于显示信息的显示器508和用于用户输入信息的诸如鼠标、键盘之类的输入设备509。其中所述显示器508和输入设备509都通过连接到***总线505的输入输出控制器510连接到中央处理单元501。所述基本输入/输出***506还可以包括输入输出控制器510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器510还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备507通过连接到***总线505的大容量存储控制器(未示出)连接到中央处理单元501。所述大容量存储设备507及其相关联的计算机可读介质为电子设备500提供非易失性存储。也就是说,所述大容量存储设备507可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的***存储器504和大容量存储设备507可以统称为存储器。
根据本发明的各种实施例,所述电子设备500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即电子设备500可以通过连接在所述***总线505上的网络接口单元511连接到网络512,或者说,也可以使用网络接口单元511来连接到其他类型的网络或远程计算机***(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述接口测试方法的指令。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种接口测试方法,其特征在于,所述方法包括:
获取待测试接口的结构化接口数据,所述待测试接口的结构化接口数据是指按照预设规范所表示的所述待测试接口的接口数据,所述待测试接口的结构化接口数据包括所述待测试接口的至少一个参数、每一个参数的取值示例、每个参数的至少一个取值范围,以及每一个参数的每一个取值范围对应的预期结果;其中,所述待测试接口的接口数据用于描述所述待测试接口的基本信息;
根据所述待测试接口的结构化接口数据,生成电子设备能够自动执行的自动化测试用例;
采用自动化测试框架执行所述自动化测试用例,获取所述自动化测试用例对应的执行结果;
对于每一个自动化测试用例,比较所述自动化测试用例对应的执行结果和预期结果,得到所述自动化测试用例对应的测试结果,所述测试结果包括所述自动化测试用例的名称、资源路径、测试时间和状态;
根据自动化测试用例中的特征信息与测试结果文件中的自动化测试用例对应的测试结果中的特征信息,分别将每一个自动化测试用例与对应的测试结果进行关联匹配,其中,所述特征信息用于标识自动化测试用例,所述特征信息包括所述自动化测试用例的编号、功能、前置条件、执行步骤和预期结果中的至少一种;
分别将每一个自动化测试用例以及每一个自动化测试用例对应的测试结果写入文档中,得到待测试结果的自动化测试用例。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待测试接口的结构化接口数据,生成可执行的自动化测试用例,包括:
从所述待测试接口的结构化接口数据中读取所述待测试接口的各个参数的取值示例,并根据所述各个参数的取值示例生成可执行的自动化测试用例模板;
从所述待测试接口的结构化接口数据中读取所述待测试接口的各个参数的取值范围,并根据所述各个参数的取值范围生成n个测试对象;其中,每一个测试对象所包括的各个参数的实际取值与所述各个参数的取值示例相比,存在一个参数的取值不同,所述n为大于1的整数;
采用所述n个测试对象分别替换所述自动化测试用例模板中所述各个参数的取值示例,生成n个所述自动化测试用例,每一个自动化测试用例对应有一个预期结果。
3.根据权利要求1所述的方法,其特征在于,所述获取待测试接口的结构化接口数据,包括:
获取所述待测试接口的接口数据;
按照所述预设规范,将所述待测试接口的接口数据转化为所述待测试接口的结构化接口数据。
4.一种接口测试装置,其特征在于,所述装置包括:
数据获取模块,用于获取待测试接口的结构化接口数据,所述待测试接口的结构化接口数据是指按照预设规范所表示的所述待测试接口的接口数据,所述待测试接口的结构化接口数据包括所述待测试接口的至少一个参数、每一个参数的取值示例、每一个参数的至少一个取值范围,以及每一个参数的每一个取值范围对应的预期结果;其中,所述待测试接口的接口数据用于描述所述待测试接口的基本信息;
用例生成模块,用于根据所述待测试接口的结构化接口数据,生成可执行的自动化测试用例;
接口测试模块,包括用例执行单元和结果获取单元;
所述用例执行单元,用于采用自动化测试框架执行所述自动化测试用例,获得所述自动化测试用例对应的执行结果;
所述结果获取单元,用于对应每一个自动化测试用例,比较所述自动化测试用例对应的执行结果和预期结果,得到所述自动化测试用例对应的测试结果;
用例更新模块,用于分别将每一个自动化测试用例与其对应的测试结果进行关联匹配,生成带测试结果的自动化测试用例。
5.根据权利要求4所述的装置,其特征在于,所述用例生成模块,包括:
模板生成单元,用于从所述待测试接口的结构化接口数据中读取所述待测试接口的各个参数的取值示例,并根据所述各个参数的取值示例生成可执行的自动化测试用例模板;
对象生成单元,用于从所述待测试接口的结构化接口数据中读取所述待测试接口的各个参数的取值范围,并根据所述各个参数的取值范围生成n个测试对象;其中,每一个测试对象所包括的各个参数的实际取值与所述各个参数的取值示例相比,存在一个参数的取值不同,所述n为大于1的整数;
用例生成单元,用于采用所述n个测试对象分别替换所述自动化测试用例模板中所述各个参数的取值示例,生成n个所述自动化测试用例,每一个自动化测试用例对应有一个预期结果。
6.根据权利要求4所述的装置,其特征在于,所述数据获取模块,包括:
数据获取单元,用于获取所述待测试接口的接口数据;
数据转化单元,用于按照所述预设规范,将所述待测试接口的接口数据转化为所述待测试接口的结构化接口数据。
CN201710084564.1A 2017-02-16 2017-02-16 接口测试方法及装置 Active CN108446190B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710084564.1A CN108446190B (zh) 2017-02-16 2017-02-16 接口测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710084564.1A CN108446190B (zh) 2017-02-16 2017-02-16 接口测试方法及装置

Publications (2)

Publication Number Publication Date
CN108446190A CN108446190A (zh) 2018-08-24
CN108446190B true CN108446190B (zh) 2021-08-17

Family

ID=63190735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710084564.1A Active CN108446190B (zh) 2017-02-16 2017-02-16 接口测试方法及装置

Country Status (1)

Country Link
CN (1) CN108446190B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254920A (zh) * 2018-09-06 2019-01-22 上海精数信息科技有限公司 接口测试用例生成方法、装置、电子设备、存储介质
CN109298882A (zh) * 2018-09-26 2019-02-01 深圳壹账通智能科技有限公司 接口的管理方法、计算机可读存储介质和终端设备
CN109446068B (zh) * 2018-09-26 2024-04-05 平安健康保险股份有限公司 接口测试方法、装置、计算机设备和存储介质
CN109522210A (zh) * 2018-09-29 2019-03-26 中国平安人寿保险股份有限公司 接口测试参数分析方法、装置、电子装置及存储介质
CN111198809A (zh) * 2018-11-16 2020-05-26 北京奇虎科技有限公司 接口自动化测试方法和装置
CN109739701A (zh) * 2018-12-14 2019-05-10 北京奇安信科技有限公司 接口测试方法及装置
CN109766262B (zh) * 2018-12-15 2022-05-06 深圳壹账通智能科技有限公司 接口数据处理方法、自动化测试方法、装置、设备和介质
CN111352825B (zh) * 2018-12-21 2023-06-02 北京金山云网络技术有限公司 数据接口的测试方法、装置及服务器
CN109766231A (zh) * 2019-01-11 2019-05-17 未来电视有限公司 接口测试方法及装置
CN110083526A (zh) * 2019-03-15 2019-08-02 深圳壹账通智能科技有限公司 应用程序测试方法、装置、计算机装置及存储介质
CN109992508A (zh) * 2019-03-22 2019-07-09 恒生电子股份有限公司 测试用例自动化生成方法、装置和电子设备
CN110609791A (zh) * 2019-09-03 2019-12-24 深圳证券交易所 招投标***的接口测试方法、接口测试装置及存储介质
CN110647471B (zh) * 2019-09-26 2023-05-23 招商局金融科技有限公司 接口测试用例生成方法、电子装置及存储介质
CN111078526A (zh) * 2019-11-04 2020-04-28 泰康保险集团股份有限公司 一种测试用例的生成方法、装置及存储介质
CN111083007B (zh) * 2019-11-21 2022-07-29 京信网络***股份有限公司 测试方法、装置、计算机设备和存储介质
CN111581083B (zh) * 2020-04-26 2024-02-09 抖音视界有限公司 一种接口测试方法、装置、电子设备及存储介质
CN112035363A (zh) * 2020-09-01 2020-12-04 中国银行股份有限公司 接口自动化测试方法及装置
CN112100078B (zh) * 2020-09-27 2024-05-03 中国建设银行股份有限公司 一种生成接口测试用例的方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880109B2 (en) * 2001-07-03 2005-04-12 The United States Of America As Represented By The Secretary Of The State Functional element test tool and method
CN103064788A (zh) * 2012-12-24 2013-04-24 清华大学 一种基于接口语义契约模型的Web服务建模与测试方法
CN106095673A (zh) * 2016-06-07 2016-11-09 深圳市泰久信息***股份有限公司 基于web接口的自动化测试方法及***
CN106354634A (zh) * 2016-08-25 2017-01-25 青岛海信传媒网络技术有限公司 接口测试方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080295076A1 (en) * 2007-05-23 2008-11-27 Microsoft Corporation Graphical user interface testing
CN102694701B (zh) * 2012-06-13 2015-12-02 青岛海信传媒网络技术有限公司 基于消息的测试方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880109B2 (en) * 2001-07-03 2005-04-12 The United States Of America As Represented By The Secretary Of The State Functional element test tool and method
CN103064788A (zh) * 2012-12-24 2013-04-24 清华大学 一种基于接口语义契约模型的Web服务建模与测试方法
CN106095673A (zh) * 2016-06-07 2016-11-09 深圳市泰久信息***股份有限公司 基于web接口的自动化测试方法及***
CN106354634A (zh) * 2016-08-25 2017-01-25 青岛海信传媒网络技术有限公司 接口测试方法及装置

Also Published As

Publication number Publication date
CN108446190A (zh) 2018-08-24

Similar Documents

Publication Publication Date Title
CN108446190B (zh) 接口测试方法及装置
US11379348B2 (en) System and method for performing automated API tests
US8918760B2 (en) Test script generation for application image validation
US8549483B1 (en) Engine for scalable software testing
CN110716870B (zh) 服务的自动化测试方法及装置
WO2019029160A1 (zh) 应用程序构建方法、***、计算机设备和存储介质
CN101526919B (zh) 生成脚本文件对Web应用软件进行测试的方法及装置
CN110825619A (zh) 接口测试用例自动生成方法、装置及存储介质
CN108763091B (zh) 用于回归测试的方法、装置及***
US20220350857A1 (en) Methods and systems for browser extension used to generate relative xpath, absolute xpath and/or css selectors
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN102012857A (zh) 一种对Web页面进行自动化测试的装置及方法
CN104657274A (zh) 软件界面测试方法及装置
CN112306861A (zh) 一种基于Unittest和Jenkins工具的接口自动化测试体系及方法
CN111026670A (zh) 测试用例的生成方法、测试用例的生成装置及存储介质
CN115658529A (zh) 用户页面的自动化测试方法以及相关设备
CN114064503A (zh) 一种ui自动化测试方法、装置、电子设备及存储介质
US11615016B2 (en) System and method for executing a test case
CN113268409B (zh) 自动化测试时跟踪逻辑节点的方法、装置、设备和介质
CN112416333A (zh) 软件模型训练方法、装置、***、设备和存储介质
CN116594887A (zh) 一种基于cfd软件的自动化测试方法及***
CN113326193A (zh) 一种小程序测试方法及装置
CN113238969A (zh) 界面自动化测试方法、装置、设备及存储介质
CN111459833B (zh) 一种实现政企移动端多端多平台自动化测试和监控的方法
CN111722996B (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