一、测试流程
1、分析接口文档和需求文档(接口说明、请求方式、请求URL、请求参数、返回数据、返回实例)
2、接口用例设计
3、编写接口测试用例
4、接口测试执行
5、输出接口测试报告
二、如何快速评估自己的测试用例覆盖率:
1、参数验证是否完整(包括各种边界和业务规则)
2、业务需求点覆盖是否完整(单接口业务功能,依赖接口业务功能)
3、接口异常场景覆盖是否完整(数据的异常)
三、接口测试用途
1、回归测试
2、非功能性测试
四、API测试用例设计
测试点 | 测试内容举例 |
---|---|
入参校验---传递不同的入参,检查返回值是否正确【必选】 | 入参等于空字符串/null |
入参类型(字符串、数值、布尔、数组、对象) | |
入参长度(字符串最小/最大长度) | |
入参值域(数值最小/最大值) | |
入参是否在枚举值范围内 | |
入参存在默认值 | |
入参等于0/负数 | |
入参组合(参数之间是否存在关联) | |
入参符合一定规则(比如账号只能由字母、下划线组成) | |
入参包含特殊字符 | |
业务逻辑校验---根据业务场景去设计【必选】 | 查询不存在的数据,应该返回空结果 |
数据状态不符合预期,不允许修改或删除 | |
返回值校验【必选】 | 返回状态码校验 |
新增类接口建议校验新生成的数据标识不为空 | |
更新或删除类接口建议校验返回消息中 success 为 true | |
列表查询类接口建议校验返回的查询记录数是否正确,排序规则是否正确 | |
数据详情类接口建议校验核心字段数据准确性 | |
幂等---检查幂等逻辑正确性【可选】 | 是否需要支持幂等(读接口一般不需要) |
前端重复提交 | |
接口超时重试 | |
消息重复消费 | |
稳定性---检查可用性策略和性能指标合理性【可选】 | 可用性(限流、熔断、降级) |
性能(qps、rt、fail、机器资源、中间件资源、存储资源) | |
兼容性---检查变更接口兼容性【可选】 | 入参兼容性(入参字段只能新增,不允许修改删除) |
返回值兼容性(返回值字段只能按顺序新增) | |
功能兼容性(兼容老功能) | |
数据兼容性(兼容老数据) | |
透明性【可选】 | 接口对调用方透明 |
可维护性【可选】 | 检查日志和变更记录 |
异常日志 | |
接口变更记录 | |
监控告警【可选】 | 检查监控告警配置 |
性能监控(qps、rt) | |
业务监控(错误码、业务指标) |