接口测试总结及接口测试技术的探讨
2. 接口测试基础论述
2.1什么是接口测试
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是检查数据报文的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系;
接口也有程序内部接口和程序外部接口之分。内部接口的测试通常是进行白盒测试。程序的外部接口也可细分为如组件的接口,web服务接口等等。对于组件的接口的测试也是使用白盒测试的,需要准备驱动程序。而web服务接口的测试,可以借助一些工具来进行,但其原理都是根据web服务的格式要求准备测试数据(xml文件),然后通过工具把请求发送的web服务器,从而验证返回的结果。
2.2 接口测试的适用系统
适用于原系统与外部系统有重要业务联系、且相互之间接口多且复杂。多系统交互,或者拥有多个子系统的应用开发。验证其正确性和稳定性。为高复杂的平台带来高效的缺陷检测和质量监督能力。平台越复杂、系统越庞大,接口测试的效果越明显。
2.3 接口测试可行性分析
从分层测试的特征,业务系统的结构出发,接口测试的必要性包括:1)迭代开发模式中,接口测试可先于系统级测试提前进行,属于测试前置;2)接口是连接系统与另一系统的桥梁,可以通过接口测试来检测测试环境的稳定性,也可判断某一bug是系统本身功能未实现还是由于接口异常引起的,从而有得于问题定位,提高测试效率;3)接口测试更专注接口数据正确性,稳定性与可靠性的验证,对于传输数据频繁的系统,更有利于提升测试质量。
接口在业务模块中的类型为典型的HTTP接口(Ajax,Dwr,Actio等),也有Java类型的一些接口(RPC,RMI,SOAP),在可测性上具有一些共通特征,如:1)可自动化率高:接口总能通过相应的client来发送请求;2)脱离开发人员代码依赖,只针对接口,属于灰盒测试范畴,难度较白盒低;
2.4 接口测试的发展
接口测试主要用于验证接口数据传输的正确性,在项目的测试过程中,可以搭建接口测试框架,把相应接口罗列出来,统一进行接口测试,也可把接口测试与自动化测试整合,实现接口的自动化,从而提升测试效率,如ITP自动化集成测试工具。
3. webservice接口
接口类型有很多种,有硬件方面基于各种通信协议(如MODBUS-TCP协议)的接口测试,也有基于web的接口测试。
web接口是服务器与客户端交互的方式,即浏览器或者其他客户端工具与web服务UI层交互的协议.常见的有两大类,一是浏览器与服务器交互的HTTP协议的接口,另一类web service接口如soap,rmi,rpc等协议; 这些接口的共通特征都是作为Server对外的UI提供通信服务。
WebService技术优点主要体现在:1、平台无关性:WebService技术是居于XML技术的扩展,无论您的应用采用什么语言开发、部署于什么平台,只要它能够解析XML,它就能够居于WebService与其它应用通讯;2、网络安全性:WebService技术的数据传输是基于Http协议,一般来说只要开发80端口,就可以对服务进行调用请求,并接收回应消息。
4. soapui工具简介
Soapui接口测试工具基于java开发,支持多个平台,并支持功能、负载、回归测试;是标准的web服务测试工具;不仅可以测试基于soap的web服务,也可以测试rest风格的web服务。
Soapui中,一个测试集是一组测试用例的集合,主要是针对同一逻辑功能模块;一个测试用例是一组测试步骤的集合,一组测试步骤组合起来主要为了测试服务某一个主要特定的功能;而测试步骤,用来检验被测试服务的功能;测试用例管理与测试项目的层级映射关系图如下:
名词:WSDL(Web services decription language):网络服务描述语言,是一种使用XML编写的文档。这种文档可以描述某个web service,它可以规定服务的位置,以及此服务规定的操作及方法
Soapui中Web service mocking作用:是在soapui中伪造或模拟web service服务接口功能的一种途径。当web service服务接口没有启动或接口的编码尚未完成等各种原因导致接口暂无法使用时,mocking可以进行验证。
SoapUI中可对web service服务进行负载测试,简单操作为:选择一个功能测试用例,右击选择“new loadtest”,作用:可以在功能测试完成的情况下,快速、方便的检验web service接口是否能够承载指定的负载量。并可以得到响应时间、每秒吞吐量(tps)、错误数(errors)等重量参数值等;
5. 运用soapui工具进行测试
5.2 xml用例编写
在上面1中提到过,用soapui工具进行XX项目接口的测试,是通过维护XML用例来实现的,而编写XML参数的原理主要是:根据web服务的格式要求准备请求数据(xml文件),然后发送请求数据给webservice服务器,若服务器返回正确定的结果,则在下一步操作中选择服务器返回结果中的相应信息作为请求数据,依次类推,直到航班查询到出票,都按此逻辑进行编写XML用例;若发送请求失败或请求的XML有问题,则在返回的响应
5.3 Soapui基本流程操作步骤:
1、可以在soapui新建项目,输入项目名称和webservice服务地址;也可直接将维护的XML文档导入soapui中;
导入XML后如下图:
2、添加测试用例和步骤
在项目名称处右键,点击new TestSuite4,可添加测试用例:
在测试用例中右键,单击add step,输入步骤名称,可添加测试步骤,流程如下: