1.接口信息
假设测试一个创建用户接口,信息如下
名称 | 说明 |
---|---|
请求地址 | /user/create |
请求方法 | POST |
权限 | 必须是admin角色的用户登录,才能创建用户 |
协议 | json |
请求参数: | name:不能为空,不能重复,长度4~20的字母或数字组合 role:不能为空,且必须为ADMIN 或 NORMAL password:不能为空,且必须为6位数字 |
返回信息 | JSON字符串;创建成功时返回新用户信息,创建失败返回对应的失败信息 |
例,
请求:
{
"name": "xiaoming",
"role": "ADMIN",
"password": "123456"
}
响应:
- success:
{
"code": 201,
"message": "新用户创建成功!",
"user": {
"id": 3,
"name": "xiaoming",
"password": "123456",
"role": "ADMIN"
}
}
- fail:
{
"name": "名称必须为4到20位的数字字母组合"
}
2. 接口测试分析
Ok,当收到接口测试请求时,首先需要分析我们需要测试哪些内容(功能测试角度考虑)
下面列出一些测试内容
- 创建用户成功
- 各字段验证,比如:用户名长度为4,用户长度为15,角色为NORMAL,角色为ADMIN。。。
(按功能测试做法,各种边界值,等价类测试等都可以考虑,对每个参数进行验证)
- 各字段验证,比如:用户名长度为4,用户长度为15,角色为NORMAL,角色为ADMIN。。。
- 创建用户失败
- 请求方法错误
- 请求字段验证不通过(按功能测试做法,各种边界值,等价类,字段缺失,字段多余等测试都可以考虑,)
- 用户没有权限(比如非amdin用户,用户未登录等)
- 其他想测或需要测试的。。。
需要验证哪些信息?
- 系统中数据库新增用户信息,成功时必须有新用户数据,失败则不能有新用户数据
- 请求响应信息,成功与失败的返回信息不一样的。
- 响应码。比如是201(Created), 400 (通常是参数错误的返回码),403(通常是没有权限),404(通常地址错误)等等,实际要看接口设计
- 其他验证内容,比如响应时间(总不能创建一个用户耗时100S吧,这个一般会通过请求超时时间来控制)。