接口概念
接口是什么
传输数据的通道 主要包括:
内部接口
:同一个系统中模块与模块间的接口,前端后端接口;
外部接口
:跨系统平台与平台间的对接。
接口测试是什么
是测试系统组件间接口的一种测试。
常见接口类型/协议
- HTTP类型/协议:在数据处理上效率比较高
- Webservice类型/协议:通过soap协议来获取数据,处理比http协议复杂的数据类型。本质上也是http协议
为什么要做接口测试
- 开发代码初期,UI和Web页面设计还没有到位,提前介入测试更早发现问题,否则底层的一个bug可能会引起外面的多个bug
- 处于接口安全层面考虑,前端进行限制容易绕过,需要同样测试后端的限制;测试接口验证数据的加密传输,例如用户密码
接口测试原理
模拟客户端向服务器发送请求,服务器接收请求后对相应的请求做处理并向客户端返回响应结果,客户端接收结果的一个过程
常见http状态码
- 200:正常
- 302:重定向,被请求的文档已被临时移动到别处,此文档的新url在location响应头中给出
- 304:未修改,表示客户机上的缓存版本是最新的,应该继续使用。例如前端js
- 403:禁止,服务器接收客户端请求,但是拒绝处理它,通常由于权限问题限制
- 404:页面不存在
- 500:服务器异常
- 504:超时
接口测试流程
获取接口需求
- 开发提供接口文档
- 通过抓包工具或者F12获取,并找开发确认
编写接口测试用例
如何编写接口测试用例
- 接口的正常调用,检查接口返回响应结果信息和接口文档一致
- 接口的异常验证,包括长度,类型,必填项等异常,同步考虑边界值,数据类型
- 业务规则验证
- 接口的安全性验证,对于用户的敏感信息(密码,身份证号)进行加密
- 接口的性能验证,接口处理数据的时间也是测试的一个方面。牵扯到算法与代码的优化。
接口测试工具
jemeter
- java开发,开源,免费
- 支持的协议种类丰富,版本更新速度快
- 接口功能,自动化,性能
postman
soapui
- webservice(soap)
辅助工具
- F12
- Fiddler
- Charles
- Wireshark