一、接口测试是什么
1、接口测试是软件测试
2、接口测试是集成测试的一部分
3、接口测试不等同于接口自动化测试
4、大家常说的接口测试大部分是指功能性的接口测试,实际还包括性能的接口测试和安全性的接口测试等
5、需要做接口测试的情况大致为:
[1]系统与系统之间的调用。例如:淘宝的订单系统和支付系统;
[2]上层服务对下层服务的调用。例如:服务层对数据层的调用;
[3]服务之间的调用。
二、接口测试的意义
1、稳:接口相对UI稳定,当接口自动化创建后,相对稳定的运行
2、低(成本):因为接口相对稳定,所以一旦建立,不需要大量的维护成本
3、快:执行快、响应快
三、接口测试的流程
流程:
接口文档 — 接口测试计划、方案 — 接口测试用例(评审)— 执行 — 集成到Jenkins — 接口反馈
1、接口文档
[1]接口文档五要素:接口地址、接口请求的方式、是否有请求参数(参数相关属性)、返回参数说明(参数相关属性)、返回结果样例。
[2]如果没有接口文档,到功能测试阶段,需要自己抓包,抓包工具如Fiddler等
2、设计接口测试用例的原则:看测试的目的是什么,如果目的是调通,那么力度可以小点;如果是业务层面,那么需要结合需求文档,用例需要覆盖全面。
3、设计接口测试用例的目的:
[1]检查返回数据类型与接口文档是否一致;
[2]检查返回字段值与数据库值是否一致;
4、测试点
[1]单一接口功能的测试主要测试返回的数据结构是否和接口文档给出的一致
[2]接口的正常功能是否完成
[3]接口的参数检查测试,接口的异常测试
[4]多接口组合测试,实际上是在测试一个业务流。
[5]在测试过程中一次调用多个接口。
四、代码实现