Jmeter的工具: 性能测试.
负载和压力的区别:
负载测试:在一定的工作负荷下,给系统造成du的负zhi荷及系统响应的时间。
压力测试:在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响.
TPS和QPS的区别:
tps可以理解为是每秒对事务的处理的能力 qps是每秒对服务器的查询能力
性能测试:
性能测试包含web端和app端测试
App端的性能指标:
Cpu 内存 流量 电量 启动时间 帧率
cpu <80%内存 <80%
电量的损耗:
流量的损耗:
web端的性能指标:
https://www.cnblogs.com/flyr/p/5509451.html (web端的性能指标详情链接)
响应时间(客户端向服务端的请求时间,服务端对数据库的请求时间,服务端将结果展现到页面的时间)
响应时间2 5 8原则
https://blog.csdn.net/weixin_33739541/article/details/93169419?
utm_medium=distribute.pc_relevant_t0.none-task-blog-
BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-
utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-
1.channel_param
吞吐量:指的是在一次性能测试过程中网络上传输的数据量的总和.吞吐量/传输时间,就是吞吐率.
TPS:每秒处理事务能力
并发数: 单用户的多次操作
多用户的单次操作
点击率:每秒钟用户向WEB服务器提 交的HTTP请求数.
资源使用率:cpu <80% 内存 <80% io <40 网络 <30%
线程与进程的区别:
一个程序至少有一个进程,一个进程至少有一个线程.
线程的划分尺度小于进程,使得多线程程序的并发性高。
进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
测试数据的来源:
A.复用开发的原有数据 b.复用线上的真实数据c.直接使用线上数据 d.测试人员手动添加
E:产品或者是运营提供数据
下载jmenet
官网:https://jmeter.apache.org/
jmenet版本要和jdk版本相匹配 不然会导致安装失败
点击下载
下载完成后解压文件到自定义文件夹
需要配置jmeter环境变量
1 新增新增JMETER_HOME系统变量
2 编辑CLASSPATH变量,加上%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;
完成以上步骤就可以双击Jmeter中bin目录下面的jmeter.bat文件即可打开Jmeter了
出现下面图片代表安装成功
jmeter使用
切换成中文
创建一个线程组
设置http请求
接口地址:http://apis.juhe.cn/simpleWeather/query
返回格式:json
请求方式:http get/post
请求示例:http://apis.juhe.cn/simpleWeather/query?city=%E8%8B%8F%E5%B7%9E&key=
接口备注:通过城市名称或城市ID查询天气预报情况\
添加http请求
添加结果树
运行
是否保存记录
很明显我请求失败了
修改端口号为80 请求成功
类似于筛查功能
添加聚合报告
可以看见执行的详细信息(在线程组修改线程数为300(压力测试) 时间为2 循环次数为1)
Jmetere的断言
添加断言如果返回值与断言相同成功否则失败
Jmeter的参数化关联 都是用${变量名}
一个变量对应一个变量值
添加一条信息
一个变量对应多个变量值
使用csv文件方式
Jmeter的对数据库链接(对数据库进行压力测试)
添加mysql的jar包
在线程组添加
设置线程数然后添加结果数进行测试
Badboy录制(web端)
借用badboy
1. 打开badboy的录制按钮
2. Badboy的浏览器中输入web项目的网址 http://项目名:端口号/路径
3. 停止录制并在file选项中进行导出jmeter(exceport jmeter) 生成.jmx文件
4. 在jmeter中将.jmx打开并添加到线程中
Jmeter录制(app端)
在线程租中添加http代理服务器,然后修改的是
*** http代理服务器是单击测试计划中非测试原件中找
1. 端口号(和移动端设备的端口号保持一直)ip地址进行保持一直
2. 将录制好的http请求保存的位置可以修改(1.直接放入测试计划中,2。可以在放入到线程组中)
3. 在线程组中进行添加 查看结果树/聚合报告的时候 就可以对多个接口或者是业务场景进行录制
Jmeter的正则提取器面试题:
在一个线程组中,B请求需要使用A请求返回的数据,也就是常说的关联,将上一个请求的响应结果作为下一个请求的参数,则需要对A请求的响应报文使用后置处理器,其中最方便最常用的就是正则表达式提取器了。
Jmeter+ant+jenkins的生成测试报告