接口自动化框架怎么做?
- api 封装项目接口
- data 参数化数据
- report 存放测试报告
- scripts 编写测试脚本
- tools 第三方工具包
- app.py 存放配置信息
- run_suite.py 测试套件入口
- utils 自己编写的工具类
cookie与session的区别?
- 安全性:cookie存在客户端,session存在服务端,session比cookie安全
- 存取值类型:cookie只支持字符串类型,其他数据类型需要转换,session可存任意数据类型
- 有效期:cookie可长期保持,比如经常使用默认登录功能,session失效时间短,客户端关闭或session超时都会失效
- 存储:单个cookie保存数据<4k,session存储数据高于cookie,访问量大会占用过多服务器资源
一些状态码说明:
200:登录成功
201:用户添加或修改成功
3XX:重定向
4XX:客户端错误
401:未授权的
403:授权了,但禁止访问
5XX:服务器错误
JMeter怎么发请求:
添加---线程---线程组
添加取样器---http请求(配置域名、端口号、请求方法、路径、请求体数据)
添加信息头处理器,设置为json数据格式
添加监听器,查看结果树
JMeter怎么断言:
添加响应断言,状态码200
响应数据包括【成功】
json 断言,断言响应数据code值
JMeter关联:
添加json提取器
保存数据的JMeter变量名,提取实际响应数据对应字段内容
添加调试取样器,便于观察保存的数据
通过json提取器将登录响应的数据中的值保存到JMeter变量中
添加请求并设置参数
添加信息头处理器,设置关联数据应用的头部参数
JMeter参数化:
先在本地创建文档,将参数填写到文档里面
在 JMeter 中添加一个 CSV 文件设置,填文件的路径,指定编码格式,指定JMeter读取CSV数据之后保存数据的变量名,第一行不是测试数据设置为True,测试数据中有引导时,设置为True
数据的行数是循环次数
${变量名}引用CSV文件读取之后的数据
查看结果树,测试结果
JMeter定时器(集合点):
同步定时器:阻塞线程(累积到一定请求),当在规定的时间内达到一定的线程数量,这些线程会在同一个时间点一起释放,瞬间 产生很大的压力
性能测试要考虑哪些指标?
吞吐量:单位时间内处理的客户端请求数,直接体现软件系统的性能承载能力。TPS(每秒事务数)、TPS(每秒请求数)
点击数:所有的页面元素(如:图片、链接等)的http总数量
资源利用率:
响应时间:指从客户端发起请求,到客户端接收到结果的总时间
包括服务器处理和网络传输时间
并发数:某一时刻同时向服务器发送请求的用户数
错误率:系统在负载情况下,失败业务的概率
负载测试与压力测试有什么区别?
负载测试:逐步增加负载,找到满足系统性能指标情况下的系统最大负载量
压力测试:高负载下,查看系统在峰值情况下的容错能力和可恢复能力
fiddler没有抓到包的原因?
代理器没有设置
抓包功能没有打开
过滤设置有问题
Mock
解除测试对象对外部服务的依赖,使得测试用例可以独立运行
模拟异常逻辑,异常逻辑往往很难触发,通过Mock可以人为的控制触发异常逻辑
团队可以并行工作