功能测试 :验证接口功能是否按照接口文档实现(输入+处理+输出)
- 单接口测试
- 正向功能:(通过性测试)
- 仅必填参数(之输入全部必填)
- 全部参数(全部必填+全部非必填)
- 参数组合 (全部必填+部分非必填)
- 反向测试:(异常测试)
- 参数异常:无参(不传或传{}),少参(针对必填),多参(一般健壮性较好的程序会自动忽略多余的参数),错误参数(常见的拼写错误)
- 数据异常:数据为空(这里包含空字符串,不传数据,传null),长度不符,类型不符,错误数据,数据格式不对(比如邮箱格式,手机格式等)
- 业务数据异常:结合业务功能考虑输出的各种异常返回情况(测试关注点:返回的异常状态码)
- 正向功能:(通过性测试)
- 多接口测试
- 数据之间的数据依赖(接口调用的先后顺序即可,相当于场景方法/流程法)
示例:
接口地址:http://www.test.com
Headers:{"Content-Type":"application/json"}
请求方式:Post
请求参数:参数1:user 值1:字符串形式,1~10个字符,不包含特殊字符,必填
参数2:passwd 值2:字符串形式,1~10个字符,不包含特殊字符,必填
参数3:ID 值3:数字形式,3~6位数字,非必填
示例用例(不完整,只是用来做示范):
性能测试:
安全测试:
- 敏感数据是否加密
- 敏感数据是否遮挡(界面)
- 敏感数据是否可以被复制(界面)
- 敏感数据是需要加密的
- 敏感数据加密需要一定的难度(不容易被暴力破解)
- sql注入
- 其他
接口测试用例模板:
- 用例编号
- 模块
- 用例标题
- 接口名称(默认使用接口文档上的接口名称)
- 请求url
- 请求方法
- 请求头
- 请求数据
- 请求体
- 预期结果:
- 响应状态吗
- 响应数据
例子: