软件接口测试方法及系统技术方案

技术编号:15254072 阅读:53 留言:0更新日期:2017-05-02 19:59
本发明专利技术公开了一种软件接口测试方法及系统,所述软件接口测试方法包括:接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求;根据第一预设模板的数据结构解析原始请求得到满足被测试接口支持的入参数据;根据入参数据运行所述被测试接口的代码得到原始响应,并以第二预设模板的数据结构封装所述原始响应;根据第二预设模板的数据结构解析原始响应得到出参数据;当出参数据匹配预设出参数据时,判定测试通过。本发明专利技术通过对原始请求和原始响应使用预设的数据结构进行封装,使用统一的方式对接口发送请求和响应,使测试人员可以专注于测试操作,无需关注接口本身入参和出参的数据结构,提高了测试效率。

Software interface testing method and system

The invention discloses a system and a method of software interface test, including the software interface test method: the original request to receive automated test cases sent, and the data structure of the template package first preset the original request; according to the original request data structure first preset template is satisfied by test data interface support to the Senate get the original response to the Senate; according to the data of operating the test interface code, data structure and package with second preset template of the original response; according to the data structure analysis of second preset template response parameters of original data; when the reference data, a preset reference data, through the test. The present invention encapsulates data structures used by default to the original request and the original response, a unified way to send the request and response interface, the tester can focus on test operation, do not need to pay attention to the interface itself into a data structure of ginseng and ginseng, improves the efficiency of test.

【技术实现步骤摘要】

本专利技术涉及软件测试领域,尤其涉及软件接口测试方法及系统。
技术介绍
现有软件测试方法中,测试软件接口时,需要向所述被测试接口发送原始请求,述被测试接口的业务代码根据原始请求会返回响应,根据所述响应和预设值进行判断,如果和预设值相同则测试通过。目前在大项目中会用到多个接口,每个接口都有自己特定的接收参数的数据格式;同时每个接口的返回值的数据格式也不一样,在测试中测试人员需要对这些复杂的接口的入参和返回值分别进行解析才能进行进一步的操作,测试效率不高。
技术实现思路
本专利技术的主要目的在于提供一种软件接口测试方法及系统,旨在降低接口请求的复杂度,提高测试效率。为实现上述目的,本专利技术提供的一种软件接口测试方法包括以下步骤:接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求;根据所述第一预设模板的数据结构解析所述原始请求得到满足被测试接口支持的入参数据;根据所述入参数据运行所述被测试接口的代码得到原始响应,并以第二预设模板的数据结构封装所述原始响应;根据所述第二预设模板的数据结构解析所述原始响应得到出参数据;当所述出参数据匹配预设出参数据时,判定测试通过。优选地,在接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求之前包括:获取所述被测试接口的代码所在的包名;根据所述包名在第一配置文件中查找到接收所述原始请求的IP地址。优选地,所述接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求之前包括:获取所述被测试接口的种类;根据所述种类对所述原始请求添加签名。优选地,所述接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求之前包括:判断预设的指定位置是否存在证书文件;若是,则通过安全套接层SSL对所述原始请求进行有证书签名;若否,则通过SSL对所述原始请求进行无证书签名。优选地,在所述接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求之前包括:获取第二配置文件,所述第二配置文件设置有所述被测试接口的代码的版本号;根据所述版本号选择所述被测试接口的运行版本。此外,为实现上述目的,本专利技术还提供一种软件接口测试系统包括:接收模块,用于接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求;第一解析模块,用于根据所述入参数据运行所述被测试接口的代码得到原始响应,并以第二预设模板的数据结构封装所述原始响应;响应模块,用于根据所述第二预设模板的数据结构解析所述原始响应得到出参数据;第二解析模块,用于根据所述第二预设模板的数据结构解析所述原始响应得到出参数据;第一判断模块,用于当所述出参数据匹配预设出参数据时,判定测试通过。优选地,所述软件接口测试系统还包括:第一获取模块,用于获取所述被测试接口的代码所在的包名;查找模块,用于根据所述包名在第一配置文件中查找到接收所述原始请求的IP地址。优选地,所述软件接口测试系统还包括:第二获取模块,用于获取所述被测试接口的种类;第一签名模块,用于根据所述种类对所述原始请求添加签名。优选地,还包括:第二判断模块,用于判断预设的指定位置是否存在证书文件;第二签名模块,用于当判断预设的指定位置存在证书文件时,通过安全套接层SSL对所述原始请求进行有证书签名;第三签名模块,用于当判断预设的指定位置不存在证书文件时,则通过SSL对所述原始请求进行无证书签名。优选地,所述软件接口测试系统还包括:第三获取模块,用于获取第二配置文件,所述第二配置文件设置有所述被测试接口的代码的版本号;选择模块,用于根据所述版本号选择所述被测试接口的运行版本。本专利技术技术方案中接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求;根据所述第一预设模板的数据结构解析所述原始请求得到满足被测试接口支持的入参数据;根据所述入参数据运行所述被测试接口的代码得到原始响应,并以第二预设模板的数据结构封装所述原始响应;根据所述第二预设模板的数据结构解析所述原始响应得到出参数据;当所述出参数据匹配预设出参数据时,判定测试通过。通过对所述原始请求和原始响应使用预设模板进行封装,测试人员可以使用统一的方式对接口发送请求,以统一的方式获取接口的响应,使测试人员可以专注于测试的操作,无需关注接口本身入参和出参的数据结构,减少了代码的复杂度,提高了效率。附图说明图1为本专利技术软件接口测试方法第一实施例的流程示意图;图2为本专利技术软件接口测试方法第二实施例中根据包名在第一配置文件中查找到接收所述原始请求的IP地址的细化流程示意图;图3为本专利技术软件接口测试方法第二实施例中根据被测试接口的种类对所述原始请求添加签名的细化流程示意图;图4为本专利技术软件接口测试方法第二实施例中进行有证书签名的细化流程示意图;图5为本专利技术软件接口测试方法第二实施例中确定所被测试接口的运行版本的细化流程示意图;图6为本专利技术软件接口测试系统第一实施例的功能模块示意图;图7为本专利技术软件接口测试系统第二实施例的功能模块示意图;图8为本专利技术软件接口测试系统第三实施例的功能模块示意图;图9为本专利技术软件接口测试系统第四实施例的功能模块示意图;图10为本专利技术软件接口测试系统第五实施例的功能模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种软件接口测试方法,参照图1,在本专利技术软件接口测试方法的第一实施例中,该软件接口测试方法包括:步骤S10,接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求;在测试接口时候,需要对所述接口对应的预设IP(指互联网协议地址)地址发送http(超文本传输协议)或其他协议的请求,或其他协议请求,如Thrift(一种软件框架)的RPC(一种远程过程调用协议)协议,所述原始请求的格式只有符合所述接口的要求,才能触发所述接口对所述请求进行期望的业务处理。而当测试很多接口时,需要对每个接口发送的请求进行特别处理,才能满足特定接口对于入参的要求。通过采用统一的模板对所述原始请求进行封装,使得测试时不用关注被测试接口的实际入参的数据结构要求。步骤S20,根据所述第一预设模板的数据结构解析所述原始请求得到满足被测试接口支持的入参数据;因为每个原始请求都是使用所述第一模板进行封装的数据,所述每个原始请求都可以根据所述第一预设模板的数据结构进行解析出符合被测试接口实际可接收的参数。因为所述第一预设模板是一样的,所以只需要建立一个解析器既可应用于所有的接口。步骤S30,根据所述入参数据运行所述被测试接口的代码得到原始响应,并以第二预设模板的数据结构封装所述原始响应;每个接口响应的数据结构都不一样,为了测试的后续工作更加方便,使用第二预设模板对所述原始响应进行封装。步骤S40,根据所述第二预设模板的数据结构解析所述原始响应得到出参数据;步骤S50,当所述出参数据匹配预设出参数据时,判定测试通过。具体的在本实施例中:所述第一预设模板为JSON(一种轻量级的数据交换格式)格式的数据,具体地,所述第一预设模板把所有业务参数放在名称为“params”对应的值里,请求方式存放在本文档来自技高网...

【技术保护点】
一种软件接口测试方法,其特征在于,包括以下步骤:接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求;根据所述第一预设模板的数据结构解析所述原始请求得到满足被测试接口支持的入参数据;根据所述入参数据运行所述被测试接口的代码得到原始响应,并以第二预设模板的数据结构封装所述原始响应;根据所述第二预设模板的数据结构解析所述原始响应得到出参数据;当所述出参数据匹配预设出参数据时,判定测试通过。

【技术特征摘要】
1.一种软件接口测试方法,其特征在于,包括以下步骤:接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求;根据所述第一预设模板的数据结构解析所述原始请求得到满足被测试接口支持的入参数据;根据所述入参数据运行所述被测试接口的代码得到原始响应,并以第二预设模板的数据结构封装所述原始响应;根据所述第二预设模板的数据结构解析所述原始响应得到出参数据;当所述出参数据匹配预设出参数据时,判定测试通过。2.如权利要求1所述软件接口测试方法,其特征在于,在接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求之前包括:获取所述被测试接口的代码所在的包名;根据所述包名在第一配置文件中查找到接收所述原始请求的IP地址。3.如权利要求1所述软件接口测试方法,其特征在于,所述接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求之前包括:获取所述被测试接口的种类;根据所述种类对所述原始请求添加签名。4.如权利要求3所述软件接口测试方法,其特征在于,所述接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求之前包括:判断预设的指定位置是否存在证书文件;若是,则通过安全套接层SSL对所述原始请求进行有证书签名;若否,则通过SSL对所述原始请求进行无证书签名。5.如权利要求1至4任一项所述软件接口测试方法,其特征在于,在所述接收自动化测试用例发送的原始请求,并以第一预设模板的数据结构封装所述原始请求之前包括:获取第二配置文件,所述第二配置文件设置有所述被测试接口的代码的版本号;根据所述版本号选择所述被测试接口的运行版本。6.一种软...

【专利技术属性】
技术研发人员:马家麒
申请(专利权)人:广州唯品会信息科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1