一、概念
- 接⼝:系统之间(外部系统与内部系统,内部系统与内部系统)数据交互的通道
- 接⼝测试:校验 接⼝回发的 响应数据 与 预期结果 是否⼀致
接⼝测试,可以绕过前端界⾯,直接对服务器进⾏测试
二、价值
可以发现⻚⾯测试发现不了的问题
符合质量控制前移理念
低成本,⾼收益
三、实现⽅式
⼯具
postman:使⽤简单,上⼿难度低。功能较少
jmeter:使⽤难度较⼤。上⼿难度⼤。功能⻬全。
代码
Python + requests + Unittest
java + HttpClient
四、接⼝测试的测试点
也叫 接⼝测试维度。
4.1 功能测试
- 单接⼝功能测试:
⼀个单独的业务,就对⼀个独⽴的接⼝。如:登录业务,对应登录接⼝。
- 业务场景功能测试:
多个接⼝被连续调⽤。(模拟⽤户的实际使⽤场景)
4.2 性能测试
- 响应时⻓:从发送请求到接收到服务器回发响应包所经历的时间。
- 错误率:服务器运⾏出错的概率
- 吞吐量:服务器单位时间内,处理请求的数量。
- 服务器资源利⽤率: cpu、内存、⽹络、磁盘等 硬件资源的占⽤率。
4.3 安全测试
- 攻击安全:⽊⻢、病毒...
由具备专业安全技术,会使⽤专业安全测试⼯具的 安全测试⼯程师 负责。
- 业务安全:
必须登录,才能访问 ⽤户数据。
敏感数据加密存储。SQL注⼊
五、接⼝⽤例设计⽅法
5.1 单接⼝测试
⼀个单独的业务,就对⼀个独⽴的接⼝。如:登录业务,对应登录接⼝。注册业务,对应注册接⼝。⽀付业务,对应⽀付接⼝。
- 正向:
- 必选 参数。 所有必选项,给正确数据
- 组合 参数。 所有必选 + 任意可选,给正确数据。
- 全部 参数。 所有必选 + 所有可选。给正确数据。
- 反向:
- 功能异常:数据格式正确,不能履⾏接⼝功能。
- 数据异常:数据格式不正确(空值、特殊字符、汉字、字⺟、⻓度、范围 ---- 等价类、边界值)
- 参数异常:
- 多参:多出 必选参数
- 少参:缺少 必选参数
- ⽆参:没有 指定参数
- 错误参数:参数名 错误。
5.2 业务场景测试
⼀定在 单接⼝ 测试 之后!
- 尽量模拟⽤户实际使⽤场景。
- 尽量⽤最少的⽤例,覆盖最多的接⼝请求。
- ⼀般情况下,覆盖正向测试即可。