性能测试概述:
通过并发工具请求服务器,提前发现性能问题,优化并且解决
实际工作中什么时候才需要做性能测试?
1.常规需求
2.用户反映性能问题
3.对项目性能不放心
性能测试最终目标:希望项目达到一个什么样的标准?
多:可以支持更多的用户访问
快:用户体验舒畅
好:访问都能成功,没有错误率
省:达到预期效果,尽可能节省资源
可以参考学习的网址:
支付宝支付接口:https://opendocs.alipay.com/apis
云直播:https://helpcdn.aliyun.com/document_detail/48207.html
jmeter脚本基本技能:
1、websocket通讯特点:
实时性
稳定
使用场景:聊天系统、金融项目:股期交易、论坛、直播平台(某些业务)
2、取样器的信息体类型:
1)参数
表单形式 变量=值
2)信息体
json格式
表单格式:name=tom&age=20
xml
3)文件上传
3、关联技术:
1)提取上一个请求的响应里面数据
json提取器正则表达式提取器beanshell提取器
2)把数据给下一个请求使用
${变量名}
4 、Jmeter主要元件
线程组元件
1. 测试计划
独立运行每一个线程组:默认不选择,选择之后,会按照先后顺序运行一个线程组继续下一个线程组
2. 线程组元件
setUp Thread Group:初始化--登录--1Thread Group:线程组---操作----2tearDown Thread Group:结束-恢复--登出--3
2、断言元件
响应断言:如果断言成功,在察看结果树看不到,断言失败会显示红色字样,提示失败
3、定时器
固定定时器:
思考时间:尽可能模拟用户使用情况
同步定时器:
真正并发---集合点【理解后续更新】
4、逻辑控制器
仅一次控制器
在这个请求只需运行一次的:登录操作
转换控制器 (Switch Controller)
1 2 3 选择器 (0 1 2---随机数) 特定执行某一个
循环控制器
事务控制器:订单提交,其会调用多个接口
1)Generate Parent Sample:如果选中,则生成样本作为其他样本的父项,否则样本将作为独立样本生成2)Include duration of timer and pre-post processors in generated sample:是否在生成的样本中包括计时器,预处理和后处理延迟。默认值为false。一般不建议选择,因为选择会把一些额外时间算入总时间,勾选则会把其他时间算入事务总数
5、监听器
1)察看结果树:看具体某个请求--请求 响应--结果明细2)聚合报告:汇总报告--汇总结果3)用表格查看结果:每一个请求就是一行数据-- 响应时间 吞吐量等信息4)图形结果:图形化显示