CN106155891B - 接口测试方法、接口描述数据库生成方法及装置 - Google Patents

接口测试方法、接口描述数据库生成方法及装置 Download PDF

Info

Publication number
CN106155891B
CN106155891B CN201510155540.1A CN201510155540A CN106155891B CN 106155891 B CN106155891 B CN 106155891B CN 201510155540 A CN201510155540 A CN 201510155540A CN 106155891 B CN106155891 B CN 106155891B
Authority
CN
China
Prior art keywords
interface
data
tested
request
response
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
CN201510155540.1A
Other languages
English (en)
Other versions
CN106155891A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510155540.1A priority Critical patent/CN106155891B/zh
Publication of CN106155891A publication Critical patent/CN106155891A/zh
Application granted granted Critical
Publication of CN106155891B publication Critical patent/CN106155891B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种接口测试方法、接口描述数据库生成方法及装置,该接口测试方法包括:生成针对待测试接口的请求数据;将所述请求数据发送给所述待测试接口所在的服务器;接收所述服务器返回的针对所述请求数据的响应数据;并从接口描述数据库中获取所述待测试接口的接口名称对应的响应数据描述;利用获取的所述响应数据描述中的响应字段集及该响应字段集中的每一响应字段的字段值应满足的约束条件对接收的所述响应数据进行验证,获得验证结果。由于包括正确的响应数据应包括的响应字段集及约束条件,扩充了现有的接口描述的信息,能准确表达隐含的约束限制条件,因此,确保了顺利通过接口测试后的接口的质量相对较高且稳定性相对较好。

Description

接口测试方法、接口描述数据库生成方法及装置
技术领域
本申请涉及软件测试技术领域,尤其涉及一种接口测试方法、接口描述数据库生成方法及装置。
背景技术
接口是指同一***不同功能层之间的通信规则。在服务接口化(以服务的方式对外提供一个接口)盛行的当下,在端到端的接口***中,保证前后端进行交互的接口的质量和稳定显得尤为重要,而接口的质量和稳定性在接口开发过程中是通过接口测试来验证的,这就对接口测试的验证结果的准确性提出了较高的要求。
在现有的接口测试中,由于同一服务***中服务软件的前端开发(这里泛指客户端的开发)和后端开发(这里泛指服务器端开发)往往是并行的,因此,前端开发的接口的测试和对后端开发的接口的测试也是并行的。前后端接口测试工程师对各自开发的接口的测试是基于一份接口描述中提供标准的软件功能以及参数、返回值等信息分别进行的,该接口描述是前端开发者和后端开发者之间进行交互操作的基础,也构建了双方之间的一种基于契约的合作模式,双方对契约理解的一致性是接口测试能够准确高效进行的基础。
然而,由于接口提供的功能通常有适合的应用范围和场景,例如参数的取值范围、操作的调用顺序等;对接口的测试也建立在对接口提供的功能的某些隐含假设之上,现有的接口描述中缺少足够的信息,无法准确表达这些隐含的约束限制条件,因此,基于现有的接口描述进行接口测试,常常造成接口测试的测试结果的准确性较低。
发明内容
本申请实施例提供一种接口测试方法、接口描述数据库生成方法及装置,用以解决基于现有的接口描述进行接口测试,造成的接口测试的测试结果的准确性较低的问题。
一种接口测试方法,包括:
生成针对待测试接口的请求数据;
将所述请求数据发送给所述待测试接口所在的服务器;
接收所述服务器返回的针对所述请求数据的响应数据;并
从接口描述数据库中获取所述待测试接口的接口名称对应的响应数据描述,所述接口描述数据库中包括接口名称及其对应的响应数据描述,所述响应数据描述包括正确的响应数据应包括的响应字段集以及该响应字段集中的每一响应字段的字段值应满足的约束条件;
利用获取的所述响应数据描述中的响应字段集及该响应字段集中的每一响应字段的字段值应满足的约束条件对接收的所述响应数据进行验证,获得验证结果。
一种接口描述数据库生成方法,所述接口描述数据库生成方法基于上述接口测试方法,接口描述数据库生成方法包括:
根据待测试接口代码,生成所述待测试接口的接口测试脚本;建立生成的所述待测试接口的接口测试脚本与该待测试接口的接口名称的关联关系,以及将该关联关系存储在接口描述数据库中,所述待测试接口代码是根据所述请求数据生成的;并
将生成针对待测试接口的请求数据作为该待测试接口的接口测试用例,建立该接口测试用例与所述待测试接口的接口名称的关联关系,以及将该关联关系存储在接口描述数据库中;并
将接收的所述响应数据作为待测试接口的测试数据,建立该接口测试数据与该待测试接口的接口名称的关联关系,以及将该关联关系存储在接口描述数据库中;并
根据所述验证结果生成针对所述待测试接口的接口测试报告,建立该接口测试报告与该待测试接口的接口名称的关联关系,以及将该关联关系存储在接口描述数据库中,所述接口测试报告包括已验证的待测试接口的请求数据、验证结果、验证结果状态和验证结果失败原因分析中的一种或多种,所述验证结果状态包括成功和失败。
一种接口测试装置,包括:
请求数据生成单元,用于生成针对待测试接口的请求数据;
发送单元,用于将所述请求数据发送给所述待测试接口所在的服务器;
接收单元,用于接收所述服务器返回的针对所述请求数据的响应数据;
获取单元,用于从接口描述数据库中获取所述待测试接口的接口名称对应的响应数据描述,所述接口描述数据库中包括接口名称及其对应的响应数据描述,所述响应数据描述包括正确的响应数据应包括的响应字段集以及该响应字段集中的每一响应字段的字段值应满足的约束条件;
验证单元,用于利用获取的所述响应数据描述中的响应字段集及该响应字段集中的每一响应字段的字段值应满足的约束条件对接收的所述响应数据进行验证,获得验证结果。
一种接口描述数据库生成装置,所述接口描述数据库生成装置基于上述接口测试装置,接口描述数据库生成装置包括:
第一关联关系建立单元,用于根据待测试接口代码,生成所述待测试接口的接口测试脚本;建立生成的所述待测试接口的接口测试脚本与该待测试接口的接口名称的关联关系,所述待测试接口代码是根据所述请求数据生成的;
第二关联关系建立单元,用于将生成针对待测试接口的请求数据作为该待测试接口的接口测试用例,建立该接口测试用例与所述待测试接口的接口名称的关联关系;
第三关联关系建立单元,用于将接收的所述响应数据作为待测试接口的测试数据,建立该接口测试数据与该待测试接口的接口名称的关联关系;
第四关联关系建立单元,用于根据所述验证结果生成针对所述待测试接口的接口测试报告,建立该接口测试报告与该待测试接口的接口名称的关联关系,所述接口测试报告包括已验证的待测试接口的请求数据、验证结果、验证结果状态和验证结果失败原因分析中的一种或多种,所述验证结果状态包括成功和失败;
存储单元,用于将所述待测试接口的接口测试脚本与该待测试接口的接口名称的关联关系、接口测试用例与所述待测试接口的接口名称的关联关系、接口测试报告与该待测试接口的接口名称的关联关系和待测试接口的接口名称的关联关系存储在接口描述数据库中。
在本申请实施例中,接口描述数据库中包括接口名称及其对应的响应数据描述,该响应数据描述包括正确的响应数据应包括的响应字段集以及该响应字段集中每一响应字段的字段值应满足的约束条件;这就使得在进行接口测试时,可以从接口描述数据库中获取待测试接口的接口名称对应的响应数据描述,进而利用该获取的所述响应数据描述中的响应字段集及约束条件对接收的所述响应数据进行验证,获得验证结果。由于本申请的接口描述数据库中的响应数据描述包括正确的响应数据应包括的响应字段集及约束条件,扩充了现有的接口描述的信息,并且使得准确表达隐含的约束限制条件成为可能,因此,提高了验证结果的准确性,确保了顺利通过接口测试后的接口的质量相对较高且稳定性相对较好。
附图说明
图1为本申请实施例一提供的接口测试方法示意图;
图2为本申请实施例二提供的接口测试装置的结构示意图;
图3为本申请实施例三提供的利用If-test接口测试平台执行接口测试的过程的示意图;
图4为本申请实施例四提供的接口测试方法示意图;
图5为本申请实施例四提供的接口测试方法在具体项目中运用示例示意图;
图6为本申请实施例五提供的接口测试装置的结构示意图;
图7为本申请实施例六提供的接口描述数据库生成装置的结构示意图。
具体实施方式
本申请实施例的接口测试方法是基于提出的包含接口的接口名称对应的响应数据描述的接口描述数据库的基础上进行的,该响应数据描述包括正确的响应数据应包括的响应字段集以及该响应字段集中每一响应字段的字段值应满足的约束条件;这就使得在进行接口测试时,可以从接口描述数据库中获取待测试接口的接口名称对应的响应数据描述,进而利用该获取的所述响应数据描述中的响应字段集及约束条件对接收的所述响应数据进行验证,获得验证结果。由于本申请的接口描述数据库中的响应数据描述包括正确的响应数据应包括的响应字段集及约束条件,扩充了现有的接口描述的信息,并且使得准确表达隐含的约束限制条件成为可能,因此,提高了验证结果的准确性,确保了顺利通过接口测试后的接口的质量相对较高且稳定性相对较好。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
如图1所示,其为本申请实施例一的接口测试方法示意图,这里的测试方法可以理解为模拟客户端(例如,浏览器,移动端App中的Webview(iOS下称UIWebview))对服务器端实际的接口进行测试,包括以下步骤:
步骤101:生成针对待测试接口的请求数据;
具体的,所述请求数据中可包括:请求名、请求的url,请求类型(get/post),请求参数值(get参数值/post参数值)等中的多种数据;
例如:假设请求数据为http://example.com/demo.htm?searchNo=0,这这个请求数据中的请求名为:demo,请求的url为http://example.com/demo,请求类型为get请求,请求参数为searchNo,该请求参数的值为0。
本步骤101中的请求数据中的请求参数值可以是人为设置的,也可以是通过测试工具利用正确的请求数据应满足的约束条件自动生成的。
步骤102:将所述请求数据发送给所述待测试接口所在的服务器;
本步骤102中,将请求数据发送给所述服务器后,所述服务器通过所述待测试接口接收所述请求数据,根据所述请求数据中的请求参数值进行运算处理;并将处理结果也即响应数据返回给所述请求数据发送方。
优选地,步骤102具体可包括:
根据所述请求数据,生成所述待测试接口的接口测试代码;
通过运行生成的所述接口测试代码实现将所述数据发送给所述待测试接口。
需要说明的是,上述步骤101和步骤102中是构造并模拟发送请求数据到待测试接口的过程;
这里,根据生成的所述待测试接口测试代码还可以生成所述待测试接口的接口测试脚本,这里的脚本是可执行的脚本,可以在后续代码的持续集成中使用。
步骤103:接收所述服务器返回的针对所述请求数据的响应数据;
步骤104:从接口描述数据库中获取所述待测试接口的接口名称对应的响应数据描述;
所述接口描述数据库可以存放在是***数据库里,也可以存放在代码托管服务器上,便于前后端开发人员及测试人员共享;
所述接口描述数据库中包括接口名称及其对应的响应数据描述,所述响应数据描述可包括:正确的响应数据应包括的响应字段集,以及该响应字段集中的每一响应字段的字段值应满足的约束条件;
所述响应字段集中的响应字段的个数可以是一个,也可以是多个,由软件开发者设计的具体的接口来决定;
假设某一接口的正确的响应数据应包括的响应字段集中响应字段的个数为2个,分别为响应字段1和响应字段2,则此时,该接口的响应数据描述包括响应字段1、响应字段1的字段值应满足的约束条件,以及响应字段2、响应字段2的字段值应满足的约束条件;
这里的响应字段可以理解为响应数据必须包括的字段;
具体的,所述接口描述数据库中的描述遵循/符合设定语法格式,以便于测试工具自动化执行本发明实施例一中的接口测试方案,进一步的,该设定的语法格式是用于对输出给接口的参数或接口输出的参数所使用的语法格式进行验证的语法格式,例如:假设输出给接口的参数或接口输出的参数的语法格式为JSON(JavaScript Object Notiation,基于Java Script语言的轻量级的数据交换格式),则该设定的语法格式为JSON Schema(JSON框架);假设输出给接口的参数或接口输出的参数的语法格式为blueprint(蓝本数据交换格式),则该设定的语法格式为blueprint Schema(blueprint框架)。
步骤105:利用获取的所述响应数据描述中的响应字段集及该响应字段集中的每一响应字段的字段值应满足的约束条件对接收的所述响应数据进行验证,获得验证结果。
具体的,所述该设定语法格式可包含由关键词及其对应的语义函数构成的语义标签,响应字段的字段值应满足的约束条件由预设的关键词及对应的约束条件函数构成的语义标签表示;
这里的约束条件函数即为预设的关键词对应的语义函数;
此外,所述接口描述数据库中还可以包括所述设定语法格式的规范,以便利用该规范对接收的响应数据的语法格式是否符合该设定语法格式的规范进行验证。
需要说明的是,这里的语义标签是本申请在遵守所述语法格式的基础上,扩展出来的语义标签,专门为本申请的约束条件的表达而扩展的。
此时,步骤105的具体验证过程可包括以下三个步骤:
步骤a1:确定获取的所述响应数据描述中的响应字段集中包括的各响应字段;
步骤b1:针对确定的每一响应字段,根据所述预设的关键词,从获取的所述响应数据描述中确定该响应字段的字段值对应的约束条件函数;
步骤c1:判断接收的所述响应数据中包含的全部字段构成的集合是否与获取的所述响应数据描述中的响应字段集构成的集合相等,以及各响应字段的字段值是否均满足对应的约束条件函数;
步骤d1:若接收的所述响应数据中包含的全部字段构成的集合与获取的所述响应数据描述中的响应字段集构成的集合相等,且各响应字段的字段值均满足对应的约束条件函数,则确定验证成功;反之,则确定验证失败。
上述步骤c1和步骤d1,具体的执行过程可以但并不局限于如下方式:
针对每一响应字段,执行以下操作:
判断接收的所述响应数据是否包含该响应字段以及该响应字段是否具有字段值;
若包含该响应字段且具有字段值,则判断该字段值是否满足该响应字段的约束条件函数;
若所述响应数据中包含响应数据描述中的全部响应字段,响应数据描述中的全部响应字段均包含在所述响应数据中并且各响应字段的字段值均满足对应的约束条件,则确定验证成功;否则,确定验证失败。
若接收的所述响应数据中不包含获取的所述响应数据描述中的全部响应字段,或者包含获取的所述响应数据描述中的部分响应字段,或者各响应字段的字段值不均满足对应的约束条件函数,则确定验证失败。
下面对上述语义标签进行说明,对于mockjs语义标签,遵循IETF JSON SchemaDraft-04(IETF草案JSON模式)的规范(该规范定义了语法格式)的语义标签及格式的两个例子如下:
例子1:
该例子1描述是一个属性值为字符串且取值为大于60小于100的自然数。其中,$schema,type为JSON Schema规范中的关键词,http://my.site/myschema#为关键词$schema的值,表明该自然数的描述信息遵循的规范所在的url;string为type的值,表示该自然数的数据类型为字符串型;
"iftest":"@natural(60,100)",这一句描述,就是一个语义标签,其中是由“关键词”和“语义函数”构成,即:"关键词":"语义函数",iftest为关键词,@natural(60,100)为语义函数,@用于标识其后的字符串natural是方法函数,该natural包括最小值和最大值两个参数,在例1中,最小值是60,最大值是100,这表明了自然数的取值范围。
预设的关键词,是本申请自定义的关键词,上述iftest关键词是对现有JSONSchema规范中的关键词的扩展,并非一定要使用iftest来表示本身请的预设的关键词,也可以使用其他词(当然,这里的其它词是指JSON Schema规范中的关键词之外的词)来表示预设的关键词。
例子2:
该例子2中,"iftest":"@host_tmall(\"^detail\")"这一句描述也为一个语义标签。该例子2表示的是一个数据类型为字符串的uri(uniform resource identifier,统一资源标识符),且该uri中包含关键词为“detail”的线上天猫url(uniform resourelocator:统一资源***)的描述信息。
下表(1)中罗列了基本的数据类型和提供的基本的方法函数,需要说明的是类型并不局限于此,方法函数也可以不断扩展:
表(1)
上述表(1)中的业务类型这一方法类型中包括的业务ID(bizNum)方法函数和无协议url(url_no_protocol)方法函数是根据实际业务扩展的,也即为本申请实施例中提供的方法函数可以不断扩展,并且扩展的方法函数可以有更多的业务相关性,进而拥有更多的实际业务应用价值。
例如:"iftest":"@bizNUm(3,5)",这一语义标签描述的是一个业务id,长度是3位到5位;
"iftest":"@url_no_protocol",这一语义标签描述的是一个http请求,没有协议头,其余保持和url一样,例如:在http请求为//www.tmall.com时就是校验成功的,在http请求为http://www.tmall.com时就是校验失败的。
由于上述步骤a1至步骤d1中的对接收的响应数据的正确性的验证过程是基于请求描述数据库中各响应字段的语义标签(由预设的关键词以及对应的约束条件函数构成)进行的,因此,上述验证方式可以称为语义化验证。
此外,在本申请实施例一的基础上,考虑到接口的请求数据需要具有必填字段(或者必须包括的字段)的字段值符合一定的约束条件,若将该约束条件若在接口描述数据库中进行描述,根据该这将有利于自动测试化工具利用该约束条件自动模拟生成用于测试的请求数据,则将使得生成的请求数据能尽可能的覆盖所有测试点,并且能提高用于测试的请求数据的质量,也相应地确保了获得的响应数据的可用性,就进一步提升测试结果的准确性,同时能快速有效地发现待测试接口存在的缺陷,下面通过实施例二对这一优选方案进行说明。
实施例二
如图2所示,其为本发明实施例二中的接口测试方法示意图,该方法中所述接口描述数据库中不仅包括接口名称、接口名称对应的响应数据描述,还包括接口名称对应的请求类型和请求数据描述,所述请求数据描述包括正确的请求数据应包括的请求字段以及请求字段的字段值应满足的约束条件;在此基础上所述接口测试方法包括以下步骤:
步骤201:从接口描述数据库中获取所述待测试接口的接口名称对应请求数据描述和请求类型;
步骤202:根据获取的所述请求数据描述中包含的各请求字段及每一请求字段的字段值应满足的约束条件,生成请求类型为获取的所述请求类型的针对所述待测试接口的请求数据;
由于请求数据描述包括正确的请求数据应包括的请求字段以及请求字段的字段值应满足的约束条件,因此,在获知获取请求数据描述时,就可以获知其包含的各请求字段及每一请求字段的字段值应满足的约束条件,进而利用各请求字段及相应的约束条件,生成请求类型为获取的所述请求类型的针对所述待测试接口的请求数据。
优选地,所述接口描述数据库中的描述符合设定语法格式,该设定语法格式包含由关键词及其对应的语义函数构成的语义标签,请求字段的字段值应满足的约束条件由预设的关键词及对应的约束条件函数构成的语义标签表示;
此时,步骤202具体可包括以下步骤:
步骤a2:根据所述预设的关键词,从获取的所述请求数据描述中确定每一请求字段的字段值对应的约束条件函数;
步骤b2:根据每一请求字段的字段值对应的约束条件函数生成请求类型为获取的所述请求类型的针对所述待测试接口的请求数据。
优选地,所述步骤b2可包括:
步骤b21:根据每一请求字段的字段值对应的约束条件函数生成请求参数值,该请求参数值为业务相关的参数值或者业务无关的参数值;
步骤b22:利用各请求字段和相应的请求参数值生成请求类型为获取的所述请求类型的针对所述待测试接口的请求数据。
步骤203:将所述请求数据发送给所述待测试接口所在的服务器;
步骤204:接收所述服务器返回的针对所述请求数据的响应数据;
步骤205:从接口描述数据库中获取所述待测试接口的接口名称对应的响应数据描述;
步骤206:利用获取的所述响应数据描述中的响应字段集及该响应字段集中的每一响应字段的字段值应满足的约束条件对接收的所述响应数据进行验证,获得验证结果。
上述步骤203至步骤206的具体实施过程与实施例一中的步骤102至步骤105的具体实施过程相同,这里不再赘述。
实施本发明实施例一或者实施例二的方案的可以是一个测试装置。下面通过实施例三中所示的一个具体的例子对本申请的具体实现过程进行详细描述。
实施例三
本申请实施例三中以测试装置为接口测试平台,接口描述数据库中描述遵循的预定的数据格式为JSON,测试环境为通过http协议通信的客户服务器环境为例,通过图3和一个具体的例子对本发明实施例二的方案进行详细说明。
图3中的If-test(If为InterFace的缩写)接口测试平台包括:If-HttpTest模块、If-Builder模块和If-Validator模块;其中:
If-httptest模块是用来真实模拟在特定上下文环境和业务场景情况下http请求数据的模块,该http请求基于apache commons httpclient 3.0.1。
If-validator模块是用来对接口返回的数据响应进行校验的模块,该模块基于json-schema-validator开源框架,引入mockjs语义标签,增加了自定义关键词“iftest”,这里的自定义关键词即为预设的关键词,从而提供可扩展的语义化验证方式;
If-builder模块是用来根据接口的请求数据描述自动化生成请求参数值的模块;
下面以对接口名称为http://example.com/demo.htm的接口进行测试为例进行说明:
假设接口描述数据库中http://example.com/demo.htm对应的请求类型为get请求,请求数据描述和响应数据描述分别为以下内容:
1)请求数据描述:
上述请求数据描述表示的含义为http://example.com/demo.htm这一接口名称所表示的接口的请求数据中必填的参数为searchNo,这里的必填参数也即本发实施例二中的请求字段,该searchNo可称为“搜索编号”,该搜索编号的数据类型为字符串型,取值范围为于0小于5的自然数;
2)响应数据描述为:
上述2)响应数据描述表达的含义是:包含核心的三个响应字段:itemId/detail/pic,这三个响应字段都是必须的,不能缺少,其次,itemId是一个11位的数字,detail需要像http://detail.tmall.com/item.htm?id=15179732651&q=iphoney”一样,pic是个图片链接,且图片像素是:344x228。
上述接口测试平台进行接口测试的过程包括以下步骤:
第一步:If-builder模块获取接口名称为http://example.com/demo.htm的待测试接口的请求数据描述,如上述所给出的1)请求数据描述,该接口名称也即为http的get请求;
第二步:If-builder模块根据获取的上述1)请求数据描述,确定其中包含的请求字段为搜索编号searchNo,该请求字段也即为必填参数字段;上述1)请求数据描述中包含的必填参数字段使用required这一关键词标示的,只有搜索编号一个字段;
第三步:if-builder模块根据iftest这一预设的关键字,从上述1)请求数据描述中searchNo的约束条件函数为@natural(0,5);
第四步:if-builder模块根据请求有一个必填参数为searchNo,并且searchNo的值只能为0到5的自然数,生成的请求参数值为:0、5、不填参数、null、-1、6、xyz;如表(2)所示,当然也可以包括其他的值,这里生成的请求参数值是按类别确定的,理论上来说这些参数值就可以代表所有的参数值。
表(2)
第五步,if-builder模块根据searchNo和根据各请求参数值实际生成的各接口请求数据如表(3)所示:
表(3)
case1 http://example.com/demo?searchNo=0
case2 http://example.com/demo?searchNo=5
case3 http://example.com/demo
case4 http://example.com/demo?searchNo=
case5 http://example.com/demo?searchNo=-1
case6 http://example.com/demo?searchNo=6
case7 http://example.com/demo?searchNo=xyz
第六步:If-httptest模块分别将各请求数据(case1至case6中的请求数据)发送给所述待测试接口所在的被测***服务端(System Under Test,SUT),也即服务器;
这里的If-httptest模块发送请求数据,为模拟发送。
第七步:If-validator模块接收所述服务器返回的针对所述请求数据的响应数据;假设此时针对http://example.com/demo?searchNo=0这一请求数据的响应数据如下:
3)响应数据:
上述3)响应数据表示的意思是返回的响应中包含itemId、detail、pic这三个响应字段,并且itemId字段的字段值为12323231451,detail字段的字段值为"http://detail.tmall.com/item.htm?id=15179732651&q=iphone",pic这一字段的字段值为:"http://g.ald.alicdn.com/bao/uploaded/TB1Y7t4FVXXXXc0XFXXtKXbFXXX.TIF"。
第八步:If-validator模块从接口描述数据库中获取所述待测试接口的接口名称对应的响应数据描述,如上述2)响应数据描述。
第九步:If-validator模块确定获取的所述响应数据描述中的响应字段集中的各响应字段分别为:itemId、detail和pic;
第十步:If-validator模块根据iftest这一预设的关键词,从获取的所述响应数据描述中确定itemId这一响应字段的字段值应满足约束条件函数为@bizNum(11,11);detail这一响应字段的字段值应满足的约束条件函数为@url('http://detail.tmall.com/item.htm?id=15179732651&q=iphone','all'),该约束条件表示的意思为该detail所在的url应包括服务器的名称、在该服务器中的路径、商品编号和查询参数,该约束条件中的'all'表示所有的协议名、域名、在该服务器中的路径、商品编号和查询参数均要与http://detail.tmall.com/item.htm?id=15179732651&q=iphone中的相匹配,针对本实施例三中的这一例子这里的相匹配是指相同;pic这一响应字段的字段值应满足约束条件函数为@img('344x228');
第十一步:If-validator模块利用第九步中的itemId和@bizNum(11,11)、detail和@url('http://detail.tmall.com/item.htm?id=15179732651&q=iphone','all')、pic和@img('344x228')对上述3)响应数据进行验证,此时可知上述3)响应数据包括itemId、detail和pic这三个响应字段,并且各响应字段的字段值均符合相应的约束条件,因此,获得的验证结果为验证成功。
如果服务端返回如下情况1、情况2或情况3,那么验证结果均为失败:
情况1:
情况2:
情况3:
{
"data":{
"items":[
{
"itemId":"1232323",
"detail":"http://detail.tmall.com/item.htm?id=15179732651&q=iphone",
"pic":"This is a picture"
}
]
}
}
情况1中itemId不为11位数,因此,验证结果为验证失败;情况2中detail中给出的服务器的地址为http://detail.taobao.com,而不是http://detail.tmall.com,因此,验证结果为验证失败;情况3中pic为This is a picture,这是一串字符串,而不是一个图片链接,因此,验证结果为验证失败;
此外,在运行本发明实施例一至实施例三的接口测试方法的过程中或者运行之后,还可将各步骤的产出的数据也作为正在进行接口测试的该待测试接口的接口描述,图3中接口描述数据库的虚线框中的内容即为个步骤产生的数据,下面通过实施例四对这一方案进行说明。
实施例四
在实施例一至实施例三所述的接口测试方法的基础上,所述接口测试方法还可包括以下步骤1至步骤4中的任一个或多个步骤:
步骤1:将生成的针对待测试接口的请求数据作为该待测试接口的接口测试用例;建立该接口测试用例与所述待测试接口的接口名称的关联关系。
步骤2:根据所述待测试接口代码,生成所述待测试接口的接口测试脚本;建立生成的所述待测试接口的接口测试脚本与该待测试接口的接口名称的关联关系。
步骤3:根据所述验证结果生成针对所述待测试接口的接口测试报告,并建立该接口测试报告与该待测试接口的接口名称的关联关系,所述接口测试报告包括已验证的待测试接口的请求数据、验证结果、验证结果状态和验证结果失败原因分析中的一种或多种,所述验证结果状态包括成功和失败。
步骤4:将接收的所述响应数据作为待测试接口的测试数据;建立该接口测试数据与该待测试接口的接口名称的关联关系。
需要说明的是,上面以步骤1至步骤4的写法是了方便表述,实际上各步骤之间并不分先后顺序。
上述步骤1至步骤4中每个步骤建立关联关系之后添加存储该关联关系至接口描述数据库的步骤时,还可以构成在实施例一至实施例三中任一的接口测试方法基础上的接口描述数据库生成方法。
上述步骤1至步骤4的过程可以如图4所示,图4中展示的是一个循环,对某一接口A进行了测试之后,获得了该接口A的完整的接口描述数据(包括接口A的接口请求数据描述、接口响应数据描述、接口测试数据、接口测试用例、接口测试脚本和接口测试报告),后续代码持续集成(Code Continuous Integration)时针对该接口A进行测试时,还可以直接利用已获得的该接口A的完整的接口描述数据。也就是说这里的循环指的是后续代码的持续集成中该接口测试方法的循环,这里的代码的持续集成是是一种软件开发实践,当集成了新的代码或者修改了原有代码后,自动化的进行验证和回归测试,保证集成后的质量。
通过本发明实施例四的方案,接口描述数据库中原有请求数据描述和响应数据描述,在每一测试的接口描述在顺利完成一次全面测试后,均可获得该接口的包括接口测试用例、接口测试报告、接口测试数据和接口测试脚本,进一步丰富了接口的接口描述,并且由于这份待测试接口的接口描述还可以用在后续的该接口代码的持续集中,因此激活了待测试接口的接口描述,使得接口描述具备精确性、可维护性、可测试性、可验证性,从而使得项目组成员可以强依赖这份接口说明展开各自后续的工作,解决前后端研发各自脱离对方环境的高效测试,降低前后端沟通成本,提高联调效率,并且可以高效的开发稳定的自动化测试脚本保证接口全生命周期的质量和稳定,进而保证接口质量乃至整个软件***和产品的质量,提升研发效率,降低研发成本。
下面对获得的上述接口测试用例、接口测试报告、接口测试数据和接口测试脚本具体如何在接口持续集成中的使用进行说明:
代码的持续集成可分为前端代码持续集成和后端代码持续集成,而代码持续集成的需要两个要素,其一是可执行的脚本,其二是任务调度***;每一个可执行脚本好比一个可执行的测试用例,测试用例中包括了:测试数据、预期结果(断言验证点)等,当脚本执行后,就可以获得这个用例所对应的测试报告;而任务调度***,目前业界主流的是hudson平台,作用就是在特定条件下自动触发脚本执行,具体在此就不赘述。目前在此专利的场景中,装置生成了后端代码持续集成中所需要的可执行脚本(junit测试脚本),把此脚本放到一个java的项目工程中,然后在hudson平台上配置后,即可实现代码持续回归测试,然后通过测试报告来为用户提供判断代码持续集成质量的依据;同样此装置中产生的接口测试数据,为前端代码持续集成提供了测试数据,可用于前端代码持续集成或者UI自动化回归测试。
图5中给出本申请实施例的方案在具体项目中运用的示例:
具体流程描述如下:
第一步:前后端共同约定接口描述(这里主要包括接口请求描述和接口响应描述),通过某种方式(目前是第三方接口管理平台)把接口描述记录到接口描述数据库中;
第二步:测试介入对接口描述进行测试,并且根据实际情况增加语义标签;
上述对接口描述进行测试,其实就是软件工程里所说的“静态测试”。这里主要是测试接口描述的是否完善,是否妥当,是否符合最优实践,是否符合业务惯例和规范,是一个验证的过程。
第三步:前端、后端、测试完全解耦的并行工作和自测,测试通过If-Test平台进行测试脚本开发;
第四步:通过稳定的可用于持续集成的自动化测试脚本,可以及时的反馈当前接口的生命状态,并且通过模拟真实请求发送获得的服务端真实的返回数据,反哺于接口描述,为进一步拓展功能提供可能(例如:前端代码的持续回归)。
实施例五
基于与实施例一至实施例四的同一发明构思,本申请实施例五提供一种接口测试装置,其结构示意图如图6所示,包括:请求数据生成单元61、发送单元62、接收单元63、获取单元64和验证单元65,其中:
请求数据生成单元61,用于生成针对待测试接口的请求数据;
发送单元62,用于将所述请求数据发送给所述待测试接口所在的服务器;
接收单元63,用于接收所述服务器返回的针对所述请求数据的响应数据;
获取单元64,用于从接口描述数据库中获取所述待测试接口的接口名称对应的响应数据描述,所述接口描述数据库中包括接口名称及其对应的响应数据描述,所述响应数据描述包括正确的响应数据应包括的响应字段集以及该响应字段集中的每一响应字段的字段值应满足的约束条件;
验证单元65,用于利用获取的所述响应数据描述中的响应字段集及该响应字段集中的每一响应字段的字段值应满足的约束条件对接收的所述响应数据进行验证,获得验证结果。
优选地,所述接口描述数据库中的描述符合设定语法格式,该设定语法格式包含由关键词及其对应的语义函数构成的语义标签,响应字段的字段值应满足的约束条件由预设的关键词及其对应的约束条件函数构成的语义标签表示;
所述验证单元65,具体用于确定获取的所述响应数据描述中的响应字段集中包括的各响应字段;针对确定的每一响应字段,根据所述预设的关键词,从获取的所述响应数据描述中确定该响应字段的字段值对应的约束条件函数;判断接收的所述响应数据中包含的全部字段构成的集合是否与获取的所述响应数据描述中的响应字段集构成的集合相等,以及各响应字段的字段值是否均满足对应的约束条件函数;若接收的所述响应数据中包含的全部字段构成的集合与获取的所述响应数据描述中的响应字段集构成的集合相等,且各响应字段的字段值均满足对应的约束条件函数,则确定验证成功;反之,则确定验证失败。
优选地,所述接口描述数据库中还包括接口名称及其对应的请求类型和请求数据描述,所述请求数据描述包括正确的请求数据应包括的请求字段集以及该请求字段集中的每一请求字段应满足的约束条件;
所述请求数据生成单元61,具体用于从接口描述数据库中获取所述待测试接口的接口名称对应请求数据描述和请求类型;根据获取的所述请求数据描述中包含的各请求字段字段及每一请求字段的字段值应满足的约束条件,生成请求类型为获取的所述请求类型的针对所述待测试接口的请求数据。
优选地,所述接口描述数据库中的描述符合设定语法格式,该设定语法格式包含由关键词及其对应的语义函数构成的语义标签,请求字段的字段值应满足的约束条件由预设的关键词及对应的约束条件函数构成的语义标签表示;所述请求数据生成单元61,包括:约束条件函数获取子单元和请求数据生成子单元;
所述约束条件函数获取子单元,用于根据所述预设的关键词,从获取的所述请求数据描述中确定每一请求字段的字段值对应的约束条件函数;
所述请求数据生成子单元,用于根据每一请求字段的字段值对应的约束条件函数生成请求类型为获取的所述请求类型的针对所述待测试接口的请求数据。
优选地,所述请求数据生成子单元,具体用于根据每一请求字段的字段值对应的约束条件函数生成请求参数值,该请求参数值为业务相关的参数值或者业务无关的参数值;利用各请求字段和相应的请求参数值生成请求类型为获取的所述请求类型的针对所述待测试接口的请求数据。
优选地,所述装置还包括:
第一关联关系建立单元66,用于将生成的针对待测试接口的请求数据作为该待测试接口的接口测试用例;建立该接口测试用例与所述待测试接口的接口名称的关联关系。
优选地,所述发送单元62,具体用于根据所述请求数据,生成所述待测试接口的接口测试代码;通过运行生成的所述接口测试代码实现将所述数据发送给所述待测试接口;
优选地,所述装置还包括:
第二关联关系建立单元67,用于根据所述待测试接口代码,生成所述待测试接口的接口测试脚本;建立生成的所述待测试接口的接口测试脚本与该待测试接口的接口名称的关联关系。
优选地,所述装置还包括:
第三关联关系建立单元68,将接收的所述响应数据作为待测试接口的测试数据;建立该接口测试数据与该待测试接口的接口名称的关联关系。
优选地,所述装置还包括:
第四关联关系建立单元69,根据所述验证结果生成针对所述待测试接口的接口测试报告,并建立该接口测试报告与该待测试接口的接口名称的关联关系,所述接口测试报告包括已验证的待测试接口的请求数据、验证结果、验证结果状态和验证结果失败原因分析中的一种或多种,所述验证结果状态包括成功和失败。
本申请实施例五中各单元的具体实现过程可参考实施例一至实施例四中接口测试方法部分的描述,这里不再赘述。
实施例六
基于与实施例一至实施例四的同一发明构思,本申请实施例六基于实施例五中的接口测试装置提供一种接口描述数据库生成装置,其结构示意图如图7所示,包括:第一关联关系建立单元71、第二关联关系建立单元72、第三关联关系建立单元73、第四关联关系建立单元74和存储单元75;其中:
第一关联关系建立单元71,用于根据待测试接口代码,生成所述待测试接口的接口测试脚本;建立生成的所述待测试接口的接口测试脚本与该待测试接口的接口名称的关联关系,所述待测试接口代码是根据所述请求数据生成的;
第二关联关系建立单元72,用于将生成针对待测试接口的请求数据作为该待测试接口的接口测试用例,建立该接口测试用例与所述待测试接口的接口名称的关联关系;
第三关联关系建立单元73,用于将接收的所述响应数据作为待测试接口的测试数据,建立该接口测试数据与该待测试接口的接口名称的关联关系;
第四关联关系建立单元74,用于根据所述验证结果生成针对所述待测试接口的接口测试报告,建立该接口测试报告与该待测试接口的接口名称的关联关系,所述接口测试报告包括已验证的待测试接口的请求数据、验证结果、验证结果状态和验证结果失败原因分析中的一种或多种,所述验证结果状态包括成功和失败;
存储单元75,用于将所述待测试接口的接口测试脚本与该待测试接口的接口名称的关联关系、接口测试用例与所述待测试接口的接口名称的关联关系、接口测试报告与该待测试接口的接口名称的关联关系和待测试接口的接口名称的关联关系存储在接口描述数据库中。
本申请实施例六中各单元的具体实现过程可参考实施例一至实施例四中接口测试方法部分的描述,这里不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中终端中的模块可以按照实施例描述进行分布于实施例的终端中,也可以进行相应变化位于不同于本实施例的一个或多个终端中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种接口测试方法,其特征在于,包括:
生成针对待测试接口的请求数据;
将所述请求数据发送给所述待测试接口所在的服务器;
接收所述服务器返回的针对所述请求数据的响应数据;并
从接口描述数据库中获取所述待测试接口的接口名称对应的响应数据描述,所述接口描述数据库中包括接口名称及其对应的响应数据描述,所述响应数据描述包括正确的响应数据应包括的响应字段集以及该响应字段集中的每一响应字段的字段值应满足的约束条件;
利用获取的所述响应数据描述中的响应字段集及该响应字段集中的每一响应字段的字段值应满足的约束条件对接收的所述响应数据进行验证,获得验证结果。
2.如权利要求1所述的方法,其特征在于,所述接口描述数据库中的描述符合设定语法格式,该设定语法格式包含由关键词及其对应的语义函数构成的语义标签,响应字段的字段值应满足的约束条件由预设的关键词及其对应的约束条件函数构成的语义标签表示;
利用获取的所述响应数据描述中的响应字段集及该响应字段集中的每一响应字段的字段值应满足的约束条件对接收的所述响应数据进行验证,获得验证结果,包括:
确定获取的所述响应数据描述中的响应字段集中包括的各响应字段;
针对确定的每一响应字段,根据所述预设的关键词,从获取的所述响应数据描述中确定该响应字段的字段值对应的约束条件函数;
判断接收的所述响应数据中包含的全部字段构成的集合是否与获取的所述响应数据描述中的响应字段集构成的集合相等,以及各响应字段的字段值是否均满足对应的约束条件函数;
若接收的所述响应数据中包含的全部字段构成的集合与获取的所述响应数据描述中的响应字段集构成的集合相等,且各响应字段的字段值均满足对应的约束条件函数,则确定验证成功;反之,则确定验证失败。
3.如权利要求1所述的方法,其特征在于,所述接口描述数据库中还包括接口名称及其对应的请求类型和请求数据描述,所述请求数据描述包括正确的请求数据应包括的请求字段集以及该请求字段集中的每一请求字段应满足的约束条件;
生成针对待测试接口的请求数据,包括:
从接口描述数据库中获取所述待测试接口的接口名称对应请求数据描述和请求类型;
根据获取的所述请求数据描述中包含的各请求字段字段及每一请求字段的字段值应满足的约束条件,生成请求类型为获取的所述请求类型的针对所述待测试接口的请求数据。
4.如权利要求3所述的方法,其特征在于,所述接口描述数据库中的描述符合设定语法格式,该设定语法格式包含由关键词及其对应的语义函数构成的语义标签,请求字段的字段值应满足的约束条件由预设的关键词及对应的约束条件函数构成的语义标签表示;
根据获取的所述请求数据描述中包含的各请求字段及每一请求字段的字段值应满足的约束条件生成针对所述待测试接口的请求数据,包括:
根据所述预设的关键词,从获取的所述请求数据描述中确定每一请求字段的字段值对应的约束条件函数;
根据每一请求字段的字段值对应的约束条件函数生成请求类型为获取的所述请求类型的针对所述待测试接口的请求数据。
5.如权利要求4所述的方法,其特征在于,根据每一请求字段的字段值对应的约束条件函数生成请求类型为获取的所述请求类型的针对所述待测试接口的请求数据,包括:
根据每一请求字段的字段值对应的约束条件函数生成请求参数值,该请求参数值为业务相关的参数值或者业务无关的参数值;
利用各请求字段和相应的请求参数值生成请求类型为获取的所述请求类型的针对所述待测试接口的请求数据。
6.如权利要求1-5任一所述的方法,其特征在于,所述方法还包括:
将生成的针对待测试接口的请求数据作为该待测试接口的接口测试用例;
建立该接口测试用例与所述待测试接口的接口名称的关联关系。
7.如权利要求1-5任一所述的方法,其特征在于,将所述请求数据发送给所述待测试接口,包括:
根据所述请求数据,生成所述待测试接口的接口测试代码;
通过运行生成的所述接口测试代码实现将所述数据发送给所述待测试接口;
所述方法还包括:
根据所述待测试接口代码,生成所述待测试接口的接口测试脚本;
建立生成的所述待测试接口的接口测试脚本与该待测试接口的接口名称的关联关系。
8.如权利要求1-5任一所述的方法,其特征在于,所述方法还包括:
根据所述验证结果生成针对所述待测试接口的接口测试报告,并建立该接口测试报告与该待测试接口的接口名称的关联关系,所述接口测试报告包括已验证的待测试接口的请求数据、验证结果、验证结果状态和验证结果失败原因分析中的一种或多种,所述验证结果状态包括成功和失败。
9.如权利要求1-5任一所述的方法,其特征在于,所述方法还包括:
将接收的所述响应数据作为待测试接口的测试数据;
建立该接口测试数据与该待测试接口的接口名称的关联关系。
10.一种接口描述数据库生成方法,其特征在于,所述接口描述数据库生成方法基于权利要求1-5任一所述的接口测试方法,接口描述数据库生成方法包括:
根据待测试接口代码,生成所述待测试接口的接口测试脚本;建立生成的所述待测试接口的接口测试脚本与该待测试接口的接口名称的关联关系,以及将该关联关系存储在接口描述数据库中,所述待测试接口代码是根据所述请求数据生成的;并
将生成针对待测试接口的请求数据作为该待测试接口的接口测试用例,建立该接口测试用例与所述待测试接口的接口名称的关联关系,以及将该关联关系存储在接口描述数据库中;并
将接收的所述响应数据作为待测试接口的测试数据,建立该接口测试数据与该待测试接口的接口名称的关联关系,以及将该关联关系存储在接口描述数据库中;并
根据所述验证结果生成针对所述待测试接口的接口测试报告,建立该接口测试报告与该待测试接口的接口名称的关联关系,以及将该关联关系存储在接口描述数据库中,所述接口测试报告包括已验证的待测试接口的请求数据、验证结果、验证结果状态和验证结果失败原因分析中的一种或多种,所述验证结果状态包括成功和失败。
11.一种接口测试装置,其特征在于,包括:
请求数据生成单元,用于生成针对待测试接口的请求数据;
发送单元,用于将所述请求数据发送给所述待测试接口所在的服务器;
接收单元,用于接收所述服务器返回的针对所述请求数据的响应数据;
获取单元,用于从接口描述数据库中获取所述待测试接口的接口名称对应的响应数据描述,所述接口描述数据库中包括接口名称及其对应的响应数据描述,所述响应数据描述包括正确的响应数据应包括的响应字段集以及该响应字段集中的每一响应字段的字段值应满足的约束条件;
验证单元,用于利用获取的所述响应数据描述中的响应字段集及该响应字段集中的每一响应字段的字段值应满足的约束条件对接收的所述响应数据进行验证,获得验证结果。
12.一种接口描述数据库生成装置,其特征在于,所述接口描述数据库生成装置基于权利要求11所述的接口测试装置,接口描述数据库生成装置包括:
第一关联关系建立单元,用于根据待测试接口代码,生成所述待测试接口的接口测试脚本;建立生成的所述待测试接口的接口测试脚本与该待测试接口的接口名称的关联关系,所述待测试接口代码是根据所述请求数据生成的;
第二关联关系建立单元,用于将生成针对待测试接口的请求数据作为该待测试接口的接口测试用例,建立该接口测试用例与所述待测试接口的接口名称的关联关系;
第三关联关系建立单元,用于将接收的所述响应数据作为待测试接口的测试数据,建立该接口测试数据与该待测试接口的接口名称的关联关系;
第四关联关系建立单元,用于根据所述验证结果生成针对所述待测试接口的接口测试报告,建立该接口测试报告与该待测试接口的接口名称的关联关系,所述接口测试报告包括已验证的待测试接口的请求数据、验证结果、验证结果状态和验证结果失败原因分析中的一种或多种,所述验证结果状态包括成功和失败;
存储单元,用于将所述待测试接口的接口测试脚本与该待测试接口的接口名称的关联关系、接口测试用例与所述待测试接口的接口名称的关联关系、接口测试报告与该待测试接口的接口名称的关联关系和待测试接口的接口名称的关联关系存储在接口描述数据库中。
CN201510155540.1A 2015-04-02 2015-04-02 接口测试方法、接口描述数据库生成方法及装置 Active CN106155891B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510155540.1A CN106155891B (zh) 2015-04-02 2015-04-02 接口测试方法、接口描述数据库生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510155540.1A CN106155891B (zh) 2015-04-02 2015-04-02 接口测试方法、接口描述数据库生成方法及装置

Publications (2)

Publication Number Publication Date
CN106155891A CN106155891A (zh) 2016-11-23
CN106155891B true CN106155891B (zh) 2019-07-05

Family

ID=57338358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510155540.1A Active CN106155891B (zh) 2015-04-02 2015-04-02 接口测试方法、接口描述数据库生成方法及装置

Country Status (1)

Country Link
CN (1) CN106155891B (zh)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776345A (zh) * 2017-01-16 2017-05-31 北京恒华伟业科技股份有限公司 一种接口发布***及接口对接测试方法
CN106909492B (zh) * 2017-03-07 2020-05-12 北京盛世全景科技股份有限公司 业务数据的追踪方法及装置
CN108664388A (zh) * 2017-03-31 2018-10-16 北京京东尚科信息技术有限公司 动态字段数据返回接口的测试***、方法、电子设备和可读存储介质
CN107122296B (zh) * 2017-04-18 2020-06-19 上海雷腾软件股份有限公司 用于测试接口的数据断言的方法及设备
CN108874654B (zh) * 2017-05-15 2022-08-16 创新先进技术有限公司 幂等有效性测试方法、装置及设备、可读介质
CN107171889A (zh) * 2017-05-27 2017-09-15 北京金山安全软件有限公司 网络应用接口的测试方法、装置及电子设备
CN107403112B (zh) * 2017-07-31 2020-07-31 北京京东尚科信息技术有限公司 数据校验方法及其设备
CN109495334B (zh) * 2017-09-13 2021-05-28 杭州海康威视***技术有限公司 一种测试方法及装置
CN107608902A (zh) * 2017-10-23 2018-01-19 中国联合网络通信集团有限公司 程序接口测试方法及装置
CN107741911A (zh) * 2017-11-01 2018-02-27 广州爱九游信息技术有限公司 接口测试方法、装置、客户端及计算机可读存储介质
CN108038125B (zh) * 2017-11-07 2021-06-01 平安科技(深圳)有限公司 基金***测试值的自动对比方法、装置、设备及存储介质
CN109726098A (zh) * 2018-03-16 2019-05-07 平安科技(深圳)有限公司 接口测试方法、装置及计算机可读存储介质
CN108664396A (zh) * 2018-05-08 2018-10-16 平安普惠企业管理有限公司 银行交互接口验证方法、装置、计算机设备及存储介质
CN108628750B (zh) * 2018-05-16 2021-11-05 无线生活(杭州)信息科技有限公司 一种测试代码处理方法及装置
CN108733569B (zh) * 2018-05-25 2022-09-02 北京五八信息技术有限公司 一种接口自动化测试方法、装置、存储介质及设备
CN108804267A (zh) * 2018-05-30 2018-11-13 平安普惠企业管理有限公司 数据库轮询方法、装置、计算机设备及存储介质
CN108900369B (zh) * 2018-05-31 2021-08-27 武汉虹信技术服务有限责任公司 一种基于post请求的接口测试方法
CN110554929B (zh) * 2018-06-04 2023-07-07 百度在线网络技术(北京)有限公司 数据校验方法、装置、计算机设备及存储介质
CN109101415A (zh) * 2018-06-25 2018-12-28 平安科技(深圳)有限公司 基于数据库比对的接口测试方法、***、设备和存储介质
CN108897687B (zh) * 2018-06-29 2022-04-01 泰华智慧产业集团股份有限公司 一种基于数据驱动的api自动化测试方法和***
CN109062784B (zh) * 2018-07-06 2021-04-27 北京大学 接口参数约束代码入口定位方法与***
CN109298997A (zh) * 2018-08-08 2019-02-01 平安科技(深圳)有限公司 接口测试方法、***、计算机设备和存储介质
CN109189622A (zh) * 2018-08-21 2019-01-11 上海起作业信息科技有限公司 接口测试方法及装置、电子设备、存储介质
CN109165127B (zh) * 2018-08-29 2022-09-02 北京奇艺世纪科技有限公司 问题接口的定位方法、装置及电子设备
CN109032956B (zh) * 2018-09-11 2022-03-22 郑州云海信息技术有限公司 一种接口测试方法及装置
CN109376079A (zh) * 2018-09-26 2019-02-22 深圳壹账通智能科技有限公司 接口调用的测试方法及服务器
CN109308266A (zh) * 2018-11-30 2019-02-05 北京微播视界科技有限公司 测试用例的构建方法、测试方法、装置、设备和介质
CN109857634A (zh) * 2018-12-15 2019-06-07 中国平安人寿保险股份有限公司 接口测试参数校验方法、装置、电子设备及存储介质
CN109889402B (zh) * 2019-01-23 2021-03-12 北京字节跳动网络技术有限公司 用于生成信息的方法和装置
CN109800168A (zh) * 2019-01-24 2019-05-24 北京奇艺世纪科技有限公司 软件的操作事件数据的测试方法及装置
CN109902026A (zh) * 2019-03-27 2019-06-18 北京奇艺世纪科技有限公司 一种接口测试信息的处理方法及测试平台
CN110188036A (zh) * 2019-05-10 2019-08-30 深圳前海微众银行股份有限公司 一种软件测试方法及装置
CN110334021B (zh) * 2019-06-25 2023-04-18 深圳前海微众银行股份有限公司 接口测试案例的生成方法、装置、设备及存储介质
CN110543428B (zh) * 2019-09-09 2023-11-24 中国工商银行股份有限公司 应用***的测试方法及装置
CN110489349B (zh) * 2019-09-23 2022-06-03 四川长虹电器股份有限公司 一种基于json配置文件的接口测试方法
CN110704328B (zh) * 2019-10-15 2021-09-07 北京城市网邻信息技术有限公司 接口测试方法、装置、电子设备及可读存储介质
CN110990276A (zh) * 2019-11-29 2020-04-10 泰康保险集团股份有限公司 接口字段自动化测试方法、装置和存储介质
CN111555928A (zh) * 2020-04-14 2020-08-18 珠海格力电器股份有限公司 监控***异常的方法、装置、计算机设备和存储介质
CN111950252A (zh) * 2020-07-31 2020-11-17 上海中通吉网络技术有限公司 Http响应报文格式校验方法、装置和设备
CN112346775B (zh) * 2020-09-21 2024-02-02 杭州数智政通科技有限公司 指标数据通用处理方法、电子设备和存储介质
CN112835782B (zh) * 2020-12-22 2022-06-03 北京健康之家科技有限公司 接口的接入测试方法和***
CN112860552B (zh) * 2021-02-02 2023-12-15 贝壳找房(北京)科技有限公司 关键字机制运行方法和装置
CN112965909B (zh) * 2021-03-19 2024-04-09 湖南大学 测试数据、测试用例生成方法及***、存储介质
CN113886221B (zh) * 2021-09-13 2022-09-23 前海飞算云智软件科技(深圳)有限公司 测试脚本生成方法、装置、存储介质及电子设备
CN113687965B (zh) * 2021-10-25 2022-03-01 深圳市工易付电子科技有限公司 数据交互方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136095A (zh) * 2011-11-28 2013-06-05 阿里巴巴集团控股有限公司 一种测试应用程序接口的方法、装置及***
CN103312551A (zh) * 2012-03-12 2013-09-18 腾讯科技(深圳)有限公司 通用网关接口的测试方法及测试装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346366B (zh) * 2013-07-30 2017-11-24 国际商业机器公司 扩展测试数据的方法及设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136095A (zh) * 2011-11-28 2013-06-05 阿里巴巴集团控股有限公司 一种测试应用程序接口的方法、装置及***
CN103312551A (zh) * 2012-03-12 2013-09-18 腾讯科技(深圳)有限公司 通用网关接口的测试方法及测试装置

Also Published As

Publication number Publication date
CN106155891A (zh) 2016-11-23

Similar Documents

Publication Publication Date Title
CN106155891B (zh) 接口测试方法、接口描述数据库生成方法及装置
CN105099811B (zh) 一种接口测试方法和装置
Marrs JSON at work: practical data integration for the web
CN109542791B (zh) 一种基于容器技术的程序大规模并发评测方法
US8949792B2 (en) Methods and systems for data service development
CN106776349B (zh) 一种接口检测流程的设置方法和***
CN106649103B (zh) 一种安卓应用程序自动化黑盒测试的方法及***
CN109101415A (zh) 基于数据库比对的接口测试方法、***、设备和存储介质
CN108897687A (zh) 一种基于数据驱动的api自动化测试方法和***
CN109726098A (zh) 接口测试方法、装置及计算机可读存储介质
CN105138448A (zh) 一种在前端测试页面的方法和装置
CN108459850B (zh) 生成测试脚本的方法、装置及***
CN108664385A (zh) 一种应用程序编程接口的测试方法及装置
CN106778280A (zh) 一种填充式远程漏洞PoC编写方法及漏洞检测方法
CN108804315A (zh) 应用于动态开发的测试方法、装置、电子设备及存储介质
CN108809896A (zh) 一种信息校验方法、装置和电子设备
CN111881043B (zh) 页面测试方法、装置、存储介质和处理器
Emanuel et al. Modularity index metrics for java-based open source software projects
KR102165037B1 (ko) 코드 커버리지 측정 장치, 코드 커버리지 측정 장치의 코드 커버리지 측정 방법, 및 코드 커버리지 측정 시스템
CN106155848B (zh) 一种测试方法和设备
Sohan et al. SpyREST in action: An automated RESTful API documentation tool
CN107239265A (zh) Java函数与C函数的绑定方法及装置
Queirós et al. Orchestration of e-learning services for automatic evaluation of programming exercises
Contan et al. Automated testing framework development based on social interaction and communication principles
Bajaj et al. Led: Tool for synthesizing web element locators

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant