接口测试
- 1)接口测试的测试点
- 2)接口用例设计方法
- 3)功能测试单接口测试用例
- 4)功能测试业务场景测试用例
-
1)接口测试的测试点
- 功能测试
- 单接口功能
- 一个单独业务,就对一个独立的接口,如:登录业务对应登录接口
- 业务场景功能
- 多个接口被连续调用(模拟用户的实际使用场景)
- 单接口功能
- 性能测试
- 响应时长:从发送请求到接收到服务器回发响应包所经历的时间
- 错误率:服务器运⾏出错的概率
- 吞吐量:服务器单位时间内,处理请求的数量。
- 服务器资源使用率:cpu、内存、⽹络、磁盘等 硬件资源的占⽤率。
- 安全测试
- 攻击安全:⽊⻢、病毒…
- 由具备专业安全技术,会使⽤专业安全测试⼯具的 安全测试⼯程师负责。
- 业务安全:
- 必须登录,才能访问⽤户数据。
- 敏感数据加密存储。(例如在网页开发者工具中的请求体部分密码键对应的值为加密过的“乱码”,而不是直接显示123456这种)
- SQL注入(例如输入特殊语句” or1=1#使得原sql语句变为恒真使得黑客可以随便输密码进入网站)
- 攻击安全:⽊⻢、病毒…
- 功能测试
-
2)接口用例设计方法
- 注意:用例设计思路一般都是针对请求体。对于没有请求头的方法,
- 单接口测试(对应单独业务)的测试方向(不需全用到)
- 正向
- 必选参数P0:所有必选项,给正确数据
- 组合参数P2/P3:所有必选 + 任意可选,给正确数据。
- 全部参数P1:所有必选 + 所有可选,给正确数据。
- 反向
- 功能异常P1:数据格式正确,不能履⾏接⼝功能。
- 数据异常P2:数据格式不正确(空值、特殊字符、汉字、字⺟、⻓度、范围 →采用等价类、边界值方法)
- 参数异常P3:
- 多参:多出必选参数
- 少参:缺少必选参数
- ⽆参:没有指定参数
- 错误参数:参数名错误。
- 正向
- 业务场景测试(多个接口的连续调用,模拟实际使用场景)
- ⼀定在单接⼝测试之后!
- 尽量模拟⽤户实际使⽤场景。
- 尽量⽤最少的⽤例,覆盖最多的接⼝请求。
- ⼀般情况下,覆盖正向测试即可。
- ⼀定在单接⼝测试之后!
-
3)功能测试单接口测试用例
-
登录(分析测试点):没有可选参数
- 正向:
- 登录成功
- 反向:
- 功能异常:
- ⼿机未注册
- 密码错误
- 数据异常:
- ⼿机号为空
- ⼿机号含有字⺟、特殊字符
- ⼿机号12位
- ⼿机号10位
- 密码为空
- 密码含有字⺟、特殊字符
- 密码1位
- 密码100位
- 参数异常:
- 多参:多出abc
- 少参:缺少-mobile
- ⽆参:
- 错误参数:修改 mobile 为 abc
- 功能异常:
- 写用例(参考接口文档里的参数)(能看懂就行,不需能直接运行)(请求数据即请求体)
- 正向:
-
添加员工(分析测试点)
- 对于需要按照json格式写的请求数据栏,可以在网站添加页面添加时用开发者工具,再找请求数据粘贴过来更方便。)
- 正向:
- 必选参数 姓名 + ⼿机号+⼯号
- 组合参数 姓名 + ⼿机号+⼯号 + 聘⽤形式
- 全部参数 全部必选 + 全部可选
- 反向:
- 功能异常
- ⼿机号已经存在
- ⼯号已经存在
- ⼊职时间晚于转正时间
- 数据异常
- ⽤户名为空
- ⽤户名为纯数字
- ⽤户名为纯字⺟
- ⽤户名含有特殊字符、汉字
- ⼿机号为空
- ⼿机号含有字⺟、特殊字符
- 10位⼿机号
- 12位⼿机号
- ⼿机号⾮1开头
- ⼯号为空
- ⼯号包含字⺟、特殊字符
- 21位⼯号
- 1位⼯号
- 6位⼯号
- ⼊职时间格式不正确
- 聘⽤形式取值3
- 聘⽤形式取值含有特殊字符、字⺟
- 部⻔id不存在
- 部⻔id含有特殊字符、字⺟
- 参数异常
- 多参:多abc
- 少参:少username
- ⽆参:缺少所有必须项
- 错误参数:workNumber 参数名错,为 abc
- 功能异常
-
查询员工:get方法没有请求体
- 使⽤资源路径: /api/sys/user/:target 包含 :target 为 ”路径参数“。 ⽤来指代 待查询的 员⼯id
- 设计测试点:
- 员⼯id存在
- 员⼯id不存在
- 没有指定员⼯查询
- 设计测试用例:设计点在url而非请求数据中的**:target**即id
-
修改方法put也是看target
-
删除参考查询方法
- 伪删除说明:
- 不使⽤SQL语句 delete,真正删除指定记录。
- ⽽使⽤ update 将指定字段值修改,代表这条记录被 “删除” 了。
- 可以理解为表格里的隐藏列表
- 伪删除说明:
-
-
4)功能测试业务场景测试用例
- 指导思想:模拟⽤户实际使⽤,⽤较少的测试⽤例,覆盖更多接⼝,测试正向即可。
- 登录 - 添加员⼯ - 查询员⼯ - 修改员⼯ - 删除员⼯ - 查询员⼯列表