什么是接口测试
•接口是指系统模块与模块或系统与系统间进行交互,
一般我们用的多的是HTTP协议的接口、WebService协议的接口,还有RPCRemote Procedure Call Protocol)——远程过程调用协议的接口。
•不管是哪种接口,其本质就是发送一个request,然后服务器响应后返回一个response,然后我们对response进行分析,这即是接口测试
为什么要做接口测试
•随着系统越来越多,以及复杂性越来越高,为了保证系统的独立
性,也为了使业务更加的独立,系统间的交互,越来越多的使用
接口,这时候,为了保证数据的传输的准确性,接口测试也应运
而生了,数据的错误,有可能引起系统的重大BUG,所以,为了
持续性的检查接口数据的准确性,接口测试的重要性也就不言而
喻了
接口测试的适用范围
•前面说了,接口是系统与系统间的交互,任何数据都是有其意义
的,如果在传输过程中丢失了或者说数据错误,可能引起系统的
BUG,也有可能为此BUG付出很大的代价,所以我认为,任何接
口都是要经过测试的,即有交互的地方,我们就要进行接口测试。
•接口测试主要测试接口覆盖率
接口测试的目的及方式
•核心:保证系统的稳定
•方式:持续集成
•目的:提高测试效率,保证数据的准确性
•文档:接口的数据类型是需要事先定义好的,所以,要形成文档
的习惯,以方便查阅,尽量减少团队与团队间的沟通成本,同理,
我们在接口测试中,也需要根据文档,整理出我们的接口测试数
据,整理出我们的断言字段,也方便其它人去审核我们接口测试
的成果
常见接口测试工具
•SoapUI
•测试Webservice接口
•LoadRunner
•测试HTTP接口
接口测试工具及原理
•常见接口测试工具
•典型商业工具:loadrunner,soapui
•典型开源工具: jmeter jsoup httpclient python中的urllib2,urllib库
•扩展插件:Poster、POSTMAN
•接口测试与抓包
•协议原理
•协议捕获(Firebug、fiddler、Httpwatch)
•协议变更 (Poster、PostMan、HttpRequest、Temper Data)
•http抓包:HTTP Analyzer
•通用数据抓包:MiniSniffer
•进程级抓包:WSExplorer
实现原理
•模拟客户端对服务器进行多连接
•伪造报文欺骗服务器认证机制
•了解服务器认证机制
•了解客户<->服务器之间的交流报文结构
•合理的技术构造报文结构