接口测试流程
- 1.分析需求,产生需求文档(产品)
- 2.开发产生接口文档,测试解析接口文档
- 3.测试产生测试用例(送审)
- 4.测试执行测试用例
工具:postman,jmeter
代码:python+Request+UnitTest - 5.测试提交、跟踪缺陷
- 6.测试生成测试报告
- 7.(可选)接口自动化持续集成
接口文档
什么是接口文档:由开发人员编写,描述接口信息的文档。开发团队按接口文档进行开发工作,并要一直维护遵守。
作用:
1.能够让前端开发与后台开发人员更好的配合,提供工作效率.(有一个统一的参考的文件)
2.项目迭代或者项目人员更迭时,方便后期人员查看和维护
3.方便测试人员进行接口测试
展现形式:
word 文档形式
Excel表格式形式
pdf文档形式
结构:
基本信息
资源路径(协议和域名在“系统信息”中)
请求方法
接口描述
请求参数
请求头:Content-Type 描述请求体的数据类型
请求体:实现该接口使用的数据几对应类型
返回数据
成功:200
错误码(自定义状态码)
码值
描述信息
接口文档解析
解析本质:从接口文档中,找出http请求所需要的数据信息
> 主要包含:请求方法,URL,请求头,请求体,响应状态码、描述
单接口测试用例分析
以“登录”为例:
请求方法:POST
URL:http://ihrm-test.itheima.net/api/sys/login
请求头:Content-Type:application/json
请求体:{“mobile”:“13800000002”,“password”:“123456”}
响应状态码:200
错误码:
10000:操作成功
20001:用户名或密码错误
99999:抱歉,系统繁忙,请稍后重试
登录模块的测试点:
数值:
正向:
登录成功
反向:
用户名为空
用户名包含特殊字符、字母
用户名超过11位(12位)
用户名不足11位(10位)
用户名未注册
密码为空
密码包含特殊字符、字母
密码为1位
密码为100位
密码错误
参数:(接口测试特有)
正向:
必选参数:正确用户名+正确密码
可选参数:忽略
全部参数:正确用户名+正确密码
反向:
多参:多adb:“123”
少参:少mobile,没有用户名,正确密码
无参:没有任何参数
错误参数:adc:13912345648,password:123456
业务场景测试用例
用户怎么用,怎么设计业务
用最少的测试用例,尽量覆盖最多的接口
分析测试点
针对“员工管理”业务场景
登录–添加员工-查询员工-修改员工–再次查询–删除员工–查询员工列表
登录:
请求方法:POST
URL:http://ihrm-test.itheima.net/api/sys/login
请求头:Content-Type:application/json
请求体:{“mobile”:“13800000002”,“password”:“123456”}
预期结果:
响应状态码:200
错误码:
10000:操作成功
20001:用户名或密码错误
99999:抱歉,系统繁忙,请稍后重试
-
添加员工:
请求方法:POST
URL:{协议+域名}/api/sys/user
请求头:Content-Type:application/
Authorizatin:ba720eb1-6beb-4286-8fb8-7d73757ce87c
(具体数据 来源 登录成功返回的响应体中的data的值)
请求体(请求数据):
{“username”:“苏素”,
“mobile”:“13899991111”,
“timeOfEntry”:“2022-04-21”,
“formOfEmployment”:1,
“workNumber”:“123”,
“departmentName”:null,
“departmentId”:“1514179654599147520”,
“correctionTime”:“2022-04-20T16:00:00.000Z”}
预期结果:
状态码:200
{“success”:true,“code”:10000,“message”:“操作成功”,“data”:{“id”:“113749504”}}
-
查询员工:
请求方法:POST
URL:{协议+域名}/api/sys/user
请求头:Content-Type:application/
Authorizatin:ba720eb1-6beb-4286-8fb8-7d73757ce87c
(具体数据 来源 登录成功返回的响应体中的data的值)
请求体(请求数据):
无
返回数据:
状态码:200
{“success”:true,“code”:10000,“message”:“操作成功”,“data”:{“所查询员工的详细信息”}}