接口(API)测试理念
什么是接口测试
接口测试就是针对软件对外提供服务的接口的输入输出进行测试,以及接口间相互逻辑的测试,验证接口功能与接口描述文档的一致性;
测试的重点是检查数据交互、传递、和控制管理过程以及系统间的相互依赖关系等。
接口测试不关注界面
接口分为两类
外部接口:子系统与子系统之间、不同的系统之间(12306APP–支付宝接口)
外部接口:系统内部,功能的外部调用,如:注册接口、登录接口、订单接口、支付接口;每个接口调用的方式都不一样的;
接口测试的重要性:
相对于UI测试,接口测试执行速度更快
相对于UI测试,能更早的发现问题,将BUG控制在项目前期阶段
相对于UI测试,粒度更细,更能发现底层问题;
相对于UI测试,发现和解决问题的效费比较高
接口测试执行速度更快:冒烟测试,回归测试,在postman运行即可;
从开发到测试时间:编码>单元测试>联调>开发提测>冒烟测试>系统测试;一般功能测试都在开发提测后,这时候发现的问题可能会较多,这样是对测试人员一种不好的,因为需要编写文档,跟开发进行交涉(交涉这个问题不是BUG,这个问题不需要修改等等),所以,我们可以在联调阶段进行借入接口测试,这样,能更早发现问题,解决,而且测试的粒度更细,更加能发现底层问题。
效费示意图:层层递减,从单元测试到接口测试到UI测试,发现的问题越来越少;
接口测试流程如下:
- 通过接口文档或抓包来获取接口的基本调用方式和返回
- 根据获取到的接口信息,按照接口测试用例设计方法,设计参数和预期返回结果
- 使用工具或者其他方法,对接口测试用例进行录入并执行
- 获取接口返回的结果,进行解析和验证。并形成测试报告
接口测试工具:
抓包工具:
-
- Fiddler:应用层抓包工具
- Charles:应用层抓包工具
- Wireshark:底层协议抓包
接口测试工具:
-
- 工具类:
- postman
- jmeter
- soapui
- loadrunner
- ……
- 代码类:
- Java:httpclient
- Python:requests、httprunner
- 工具类:
初学阶段,如有不对,欢迎指点