跳转至

接口测试用例模板

接口测试用例要说明请求怎么发、断言怎么写、数据怎么校验。不要只写“调用接口成功”,那样无法判断是否真的测到了业务逻辑。

标准字段

字段 说明
接口名称 例如:用户登录接口
请求方法 GET、POST、PUT、PATCH、DELETE
请求路径 例如 /api/login
前置条件 是否需要登录、是否需要准备数据
请求头 Content-TypeAuthorization
请求参数 Query、Path、Body 参数
测试点 正常、异常、边界、权限、幂等等
预期响应 状态码、业务码、字段值、错误提示
数据校验 数据库、缓存、日志、下游接口
优先级 P0/P1/P2/P3

表格模板

编号 接口 方法 路径 测试点 请求数据 预期响应 数据校验 优先级

登录接口示例

编号 接口 方法 路径 测试点 请求数据 预期响应 数据校验 优先级
API-LOGIN-001 登录 POST /api/login 正确账号密码 {"username":"user01","password":"Aa123456"} HTTP 200,业务码 0,返回 token 登录日志新增成功记录 P0
API-LOGIN-002 登录 POST /api/login 密码错误 {"username":"user01","password":"wrong"} HTTP 200 或 401,业务码非 0,提示账号或密码错误 登录失败次数增加或记录失败日志 P0
API-LOGIN-003 登录 POST /api/login 用户名为空 {"username":"","password":"Aa123456"} 返回参数校验错误 不生成 token P1
API-LOGIN-004 登录 POST /api/login 缺少 password 字段 {"username":"user01"} 返回缺少必填字段 不生成 token P1
API-LOGIN-005 登录 POST /api/login 被禁用用户登录 禁用用户账号 登录失败,提示账号不可用 用户状态不被修改 P1

常见断言

assert response.status_code == 200
assert response.json()["code"] == 0
assert "token" in response.json()["data"]
assert response.elapsed.total_seconds() < 1

业务接口不要只断言 HTTP 状态码,还要断言业务码、关键字段和数据变化。

接口测试覆盖角度

  • 必填参数为空。
  • 参数类型错误。
  • 参数长度超限。
  • 枚举值非法。
  • 未登录访问。
  • token 过期访问。
  • 普通用户访问管理员接口。
  • 重复提交。
  • 数据库是否正确落库。
  • 错误信息是否暴露敏感信息。