接口测试用例书写规范
接口测试用例的书写规范是确保测试覆盖全面、可维护性强且易于执行的关键。以下是一套系统化的接口测试用例书写规范,涵盖核心要素和最佳实践:
一、用例结构规范
- 用例ID
唯一标识符(如:API_LOGIN_001),建议采用模块+接口名+序号格式。
示例:USER_AUTH_001(用户认证模块-登录接口-第1条用例)
- 用例名称
简明描述测试场景,如:“正确用户名密码登录成功”。
- 前置条件
执行测试前需满足的环境或数据状态,例如:
数据库中存在测试用户test_user
服务已启动且可访问
依赖接口(如获取验证码)已通过测试
- 接口信息
URL:完整接口地址(如:POST /api/v1/auth/login)
请求方法:GET/POST/PUT/DELETE等
协议类型:HTTP/HTTPS/WebSocket
Content-Type:application/json/multipart/form-data等
- 请求参数
- 预期结果
响应状态码:如200 OK、401 Unauthorized
响应体:JSON结构示例及关键字段说明
{"code": 200,"message": "登录成功","data": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","expire_in": 3600}
}
响应头:如Content-Type: application/json
- 实际结果
测试执行后手动填写或通过自动化工具自动填充。 - 测试数据
明确测试使用的数据来源(如:从数据库读取、Mock数据、固定值)。 - 优先级
P0(核心功能)、P1(主要功能)、P2(边缘场景)、P3(异常场景)。 - 关联用例
依赖的其他用例ID(如:登录用例依赖获取验证码用例)。
二、测试场景设计规范
- 正向测试
验证接口在合法输入下的正确行为,如:
正确凭证登录
查询存在的用户信息
上传合规文件 - 反向测试
参数校验:
必填参数缺失
参数类型错误(如字符串传数字)
参数值越界(如年龄传-1)
业务逻辑校验:
重复提交
权限不足操作
并发冲突
异常场景:
服务不可用(503)
网络超时
数据库连接失败 - 边界值测试
针对数值型参数设计最小值、最大值、临界值测试,如:
密码长度:5/6/20/21位
分页参数:page=0/1/9999 - 性能测试
响应时间阈值(如:<500ms)
并发用户数测试
长时间运行稳定性测试
三、自动化测试规范
- 用例可自动化标识
添加AutoTest: Yes/No字段,明确哪些用例需自动化。 - 断言设计
关键字段断言(如状态码、业务码code)
响应时间断言
数据库状态断言(如登录后用户状态更新为online) - 数据驱动测试
使用参数化文件(如JSON/CSV)管理测试数据,示例:
[{"username": "valid_user", "password": "P@ssw0rd", "expected_code": 200},{"username": "", "password": "P@ssw0rd", "expected_code": 400}
]
- Mock服务
对依赖的第三方接口(如支付网关)进行Mock,确保测试独立性。
四、用例维护规范
- 版本控制
使用Git等工具管理用例文档,每次修改需记录变更原因。 - 定期评审
结合需求变更,每2周评审用例有效性,淘汰过时用例。 - 缺陷关联
发现缺陷时,在用例中添加Related Bug: BUG-123字段。