一种多协议接口测试系统及方法

文档序号:8945622阅读:345来源:国知局
一种多协议接口测试系统及方法
【技术领域】
[0001]本发明属于计算机测试领域,尤其设计一种多协议接口测试系统及方法。
【背景技术】
[0002]传统的接口测试是指测试系统组件间的接口。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。目前的实现主要是由开发人员或白盒测试工程师,自己编写程序去调用或者利用一些工具去执行接口测试。
[0003]SoapUI是目前业界主流的接口测试工具,提供简单的界面,提供接口地址和参数类型,就可以支持webservice和Rest协议的接口测试,然而现有的接口测试工具具有以下缺陷:
[0004]1.对于一些复杂协议的接口如HTTP接口和Saf接口不能支持测试;
[0005]2.目前是面向SOA架构的系统,接口特别多,传统的接口测试都是需要自己编写接口调用代码来实现接口测试,门槛比较高,故普通测试人员实现接口测试比较困难;
[0006]3.由于输入输出数据太多,目前主流的接口测试工具无法一次性实现大批量的接口,大量数据同时执行;
[0007]4.接口数据通常数目很多,一个接口可能对应几百条测试数据,若新增或变更字段,几百条数据的期望结果都得修改,维护工作量比较大。

【发明内容】

[0008](一 )要解决的技术问题
[0009]本发明的目的在于提供一种多协议接口测试系统及方法,能对主要的webservice接口、http接口和Saf接口进行测试,不需要通过编写程序就能实现接口测试,而且大量接口和数据能快速批量运行,并能快速维护接口数据。
[0010](二)技术方案
[0011]本发明提供一种多协议接口测试系统,包括配置单元、调用单元、执行单元和比对单元,其中:
[0012]配置单元用于配置接口参数;
[0013]调用单元根据接口参数,调用本地接口,得到期望数据;
[0014]执行单元根据接口参数,调用待测接口,得到测试数据;
[0015]比对单元用于比对期望数据和测试数据,得到测试结果。
[0016]本发明还提供一种多协议接口测试方法,其特征在于,包括以下步骤:
[0017]SI,根据接口参数,调用本地接口,得到期望数据;
[0018]S2,根据所述接口参数,调用待测接口,得到测试数据;
[0019]S3,比对所述期望数据和所述测试数据,得到测试结果。
[0020](三)有益效果
[0021]本发明提供的多协议接口测试系统及方法,具有以下优点:
[0022]1、通过对不接口进行相应参数配置,使得能对不同协议的接口(webservice接口、HTTP接口和Saf接口 )进行测试,提高测试效率。
[0023]2、本发明通过配置的方式即能实现接口测试,无需编写代码,适用于所有测试人员。
[0024]3、因为前台界面发起测试请求后,后台服务器接收到请求后将执行任务分发到多台执行机器上并发执行任务,多台机器同时执行任务,故能快速批量的运行大量的接口和测试数据。
[0025]4、本发明将测试数据都会持久化保存在数据库里面,能快速维护接口数据。
【附图说明】
[0026]图1是本发明实施例提供的多协议接口测试系统的结构示意图。
[0027]图2是本发明实施例提供的多协议接口测试系统的工作原理图。
[0028]图3是本发明实施例提供的多协议接口测试方法的流程图。
【具体实施方式】
[0029]本发明提供一种多协议接口测试系统,包括配置单元、调用单元、执行单元和比对单元,其中,配置单元配置接口参数,调用单元根据接口参数,调用本地接口,得到期望数据,执行单元根据接口参数,调用待测接口,得到测试数据,比对单元比对期望数据和测试数据,得到测试结果。
[0030]在一种实施方式中,接口参数包括接口类型、接口地址、接口方法名、版本号、group和输入数据,其中接口类型可以包括Saf接口、HTTP接口及webservice接口,接口地址是指待测的接口的URL,接口方法名是接口待测方法的名称,版本号是Saf接口特有的属性跟后面的group字段配合使用,group是指接口所在的分组,输入数据指的是接口的输入参数,包含合法的输入参数和不合法的输入参数。
[0031]在一种实施方式中,调用单元根据接口类型,调用相应的本地接口,将输入数据输入至本地接口,得到输出数据,并检查所述输出数据是否正确,若正确,将输出数据保存为期望数据。
[0032]在一种实施方式中,若本地接口和所述待测接口为Saf接口,执行单元将接口方法名、group及版本号封装至HTTP请求,并将HTTP请求发送Rest接口,Rest接口根据接口方法名、group及版本号找到待测的Saf接口,将输入数据输入至待测的Saf接口,得到测试数据。
[0033]在一种实施方式中,若本地接口和待测接口为HTTP接口,执行单元将接口方法名、group及版本号封装至HTTP请求,并将HTTP请求发送接口地址,找到待测的HTTP接口,将输入数据输入至待测的HTTP接口,得到测试数据。
[0034]在一种实施方式中,若本地接口和待测接口为webservice接口,执行单元根据客户端调用webservice接口的方式,调用待测的webservice接口,将输入数据输入至待测的webservice接口,得到测试数据。
[0035]在一种实施方式中,该系统还包括数据库,用于存储所述期望数据。
[0036]在一种实施方式中,比对单元对期望数据和测试数据进行全局匹配或局部匹配,得到测试结果,其中,全局匹配是指全文的比对,局部匹配是指部分字段的匹配,在输出参数每次都不变动的情况下,进行全局匹配,在输出参数非关键字段经常变动的情况下,进行局部匹配。
[0037]本发明还提供一种多协议接口测试方法,其特征在于,包括以下步骤:
[0038]SI,根据接口参数,调用本地接口,得到期望数据;
[0039]S2,根据所述接口参数,调用待测接口,得到测试数据;
[0040]S3,比对所述期望数据和所述测试数据,得到测试结果。
[0041]本发明提供的多协议接口测试系统及方法,能对主要的webservice接口、http接口和Saf接口进行测试,不需要通过编写程序就能实现接口测试,而且大量接口和数据能快速批量运行,并能快速维护接口数据。
[0042]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0043]图1是本发明实施例提供的多协议接口测试系统的结构示意图,如图1所示,多协议接口测试系统包括配置单元、调用单元、执行单元和比对单元,其中:
[0044]配置单元配置接口参数,接口参数包括接口类型、接口地址、接口方法名、版本号、group和输入数据。
[0045]例如,对于saf接口:
[0046]<saf: registryid = " jdZooKeepefprotocol = " jdZooKeepefaddress ="jdZooK eeper://192.168.150.119,192.168.150.120,192.168.150.121:2181"timeout=〃10000〃wait = 〃0〃/>〈saf:referenceid = ^IServiceExecTask^interface = 〃com.jd.service.1ServerExecTask^vers1n = 〃1.0〃group = 〃coo-easy-test_service〃>
[0047]其中,Addreess的值就是接口所在的地址,并且通过interface名称vers1n和group的值,区分接口是不是唯一的。因为每个接口可能会发布多个版本。输入数据指的是此interface的方法的输入参数,如getOrderByld (String orderid)属于某个待测接口,待测方法为getOrderByld,传入不同的参数,如0000,12345678等输入参数去测试该方法。
[0048]对于HTTP 或 webservice 接口:
[0049]HTTP 接口的接口地址为的 URLjn http://qone.jd.com/system/delete,输入参数{〃code〃:0, 〃systemid〃: 1001},Webservice 的接口 URL 通常是一个 wsdl 或 wadi 地址,如http://localhost:808
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1