接口测试是测试系统组件间数据交互的一种方式.
接口测试就是通过测试不同情况下的输入参数和与之对应的输出结果来判断接口是否符合或满足相应的功能性、安全性要求.
简单的说,接口测试是就是代替前端或者第三方,来验证后端实现是否符合接口规范.
2.2 接口测试的好处
通过接口测试,测试接口的正确性和稳定性, 能快速定位bug,提高测试效率.
- 能为项目平台带来高效的缺陷监测和质量监督能力;
- 平台越复杂,系统越庞大,接口测试的效果越明显(提高测试效率,提升用户体验,降低研发成本)
2.3 接口测试原理
原理:
模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收响应数据后并进行判断
- 请求: 是否正确, 默认请求成功是返回200, 假如请求错误返回400, 404, 500等状态码
- 检查: 返回数据的正确性与完整性
- 安全性: 接口一般不会暴露在网上任意被调用,需要做一些限制,比如必须登录或者请求次数、频率限制
2.4 基本流程
接口测试流程: 定位服务器接口资源并提交测试数据,然后查看响应结果是否符合预期
-
定位接口资源(URL)
-
提交测试数据
-
检查响应结果
2.5 接口测试分类
- web接口测试
- 模块接口测试
(1). web接口测试
-
服务器接口测试, 是测试浏览器与服务器的接口, 是B/S架构的
-
外部接口测试, 测试第三方接口,
举例:支付接口测试/天气预报接口测试
(2). 模块接口测试
- 单元测试的基础,主要测试模块的调用与返回.
3. 如何做好接口测试
接口测试要遵循一些要点:
- 接口的功能性实现. 检查接口返回的数据与预期结果的一致性.
- 测试接口的容错性, 例如传递的数据类型是错误的能否处理.
- 测试接口参数的边界值. 例如传递的数据足够大或者为负数时能否处理
- 测试接口性能, 接口处理和响应数据的时间也是测试的一个方面, 这牵扯到代码实现的优化
- 测试接口的安全性. 特别是第三方接口,比如登录的用户名密码第三方是否是密文传输的