软件测试
手动测试
测试用例8大要素
- 编号
- 用例名称(标题)
- 模块
- 优先级
- 预制条件
- 测试数据
- 操作步骤
- 预期结果
接口测试(模拟http请求)
接口用例设计
- 防止漏测
- 方便分配工具,评估工作量和时间
- 接口测试测试点
- 功能
- 单接口
- 业务场景
- 性能
- 响应生成
- 兼容性
- 并发性
- 服务器资料利用率
- 安全性
- 攻击安全
- 业务安全
- 功能
接口测试用例文档10要素
- 编号
- 用例名称(标题)
- 模块
- 优先级
- 预制条件
- 请求方法
- url
- 请求头
- 请求体(请求数据)
- 预期结果
1. 单接口测试
- 数值
- 正向
- 反向
- 参数
- 正向
- 必选
- 可选
- 全部
- 反向
- 多参数
- 少参
- 无参
- 错误参数
- 正向
2 业务场景测试
用户怎样用怎样测试,分析接口文档编写测试用例,使用postman工具查看响应数据
使用postman管理,执行测试用例,生成测试报告
测试点:先登录>>>>添加员工>>>>查询员工>>>>修改>>>>在查询>>>>删除>>>>查询是否删除成功
测试用例编写
postman工具
1. 工具使用
- 简介
- 安装
- 案例:get,post请求,用接口文档,开发者工具,fiddler获取http数据
2. 使用postmanpostman管理,执行测试用例,生成测试报告
-
导入,到处用例集合
-
postman的断言,实现自动化测试
-
断言响应状态码
//断言响应状态码是否为200 //pm:postman的实例 //test():postman的方法,两个参数 // 参数1:" "断言结束后的文字提示 // 参数2:一个匿名函数(功能:pm的响应结果中应该包含状态码200),pm.response.to.have.status(200);函数体 pm.test("status code is 200",function(){ pm.response.to.have.status(200); });
-
断言响应体是否包含莫格字符串
-
断言响应体是否等一莫格字符串(对象)
-
断言json数据
-
断言响应头
-
-
全局变量与局部变量
//全局变量 pm.globals.set("var_name",value); //环境变量 pm.environment.set("var_name",value);
postman请求前置脚本
点击send后第一时间被执行。postman内部再http请求之之前发送。
- 设置时间戳
//拿到时间戳代码,设置到全局变量中
var timestamp = new Date().getTime();
//发送请求时携带过去
pm.globals.set("glb_timestamp",timestamp)
- 使用时间全局变量
- 原理图:
postman关联
- 用途:应用于多个http请求之间,有数据关联,或依赖关系时
- 实现步骤(A接口依赖于B接口的值):
- B接口发送http请求,获取数据
- 将数据设置到全局变量(环境变量)
- A接口获取全局(环境)变量中的数据值进行使用
//获取全部响应结果中
var jsonData = pm.response.json()
//从响应结果中获取城市名
var city = jsonData.weatherinfo.city
//将城市名写到全局变量中
pm.globals.set("glb_city",city)