前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件测试之 性能测试 性能测试基础指标 Loadrunner、Jmeter等工具

软件测试之 性能测试 性能测试基础指标 Loadrunner、Jmeter等工具

作者头像
Qiuner
发布2024-07-19 16:04:54
10
发布2024-07-19 16:04:54
举报
文章被收录于专栏:杂烩

你好,我是Qiuner. 为记录自己编程学习过程和帮助别人少走弯路而写博客 这是我的 github https://github.com/Qiuner ⭐️ ​ gitee https://gitee.com/Qiuner 🌹 如果本篇文章帮到了你 不妨点个吧~ 我会很高兴的 😄 (^ ~ ^) 想看更多 那就点个关注吧 我会尽力带来有趣的内容 😎 本文档基于 https://www.bilibili.com/video/BV1wC4y1Y7yX/?spm_id_from=333.337.search-card.all.click&vd_source=077127c579b82c23164b07dbc24cd570 这套黑马程序员的课,在其中加了不少个人的感悟。相信您看后一定能够加深理解

性能测试

  • 测试环境和用户环境一致
  • 性能测试的指标不是在测试结束后同意收集
测试的策略
基准测试
image-20231021111855403
image-20231021111855403
image-20231021111906125
image-20231021111906125
image-20231021111945410
image-20231021111945410
  • 要测多次
image-20231021112004565
image-20231021112004565
负载测试
image-20231021112217559
image-20231021112217559
image-20231021112504511
image-20231021112504511
稳定测试
image-20231021113217156
image-20231021113217156
  • 1、把最大负载量变成15后再来稳定测试
  • 2、负载量以10来测试即可
image-20231021113958775
image-20231021113958775
  • 绿色线是利用率,紫色线为吞吐量,蓝色线为响应时间

the optimum number of concurrent users 最佳并发用户数 the Maximum number of Concurrent Users 最大并发用户数 light load 轻负荷 heavy load 重负荷 resource saturated 资源饱和 Throughput Falling 吞吐量下降 end users effected 受影响的最终用户 Number of concurrent users 并发用户数

压力测试
image-20231021141256565
image-20231021141256565
image-20231021141718648
image-20231021141718648
并发测试
image-20231021142344140
image-20231021142344140
image-20231021142609741
image-20231021142609741
image-20231021142749453
image-20231021142749453
测试的指标
响应时间
image-20231021143029894
image-20231021143029894
image-20231021143534106
image-20231021143534106
并发数
image-20231021143710850
image-20231021143710850
image-20231021143813774
image-20231021143813774
吞吐量
image-20231021144054212
image-20231021144054212
image-20231021144500753
image-20231021144500753
  • QPS需要配合具体操作才有意义
image-20231021144757322
image-20231021144757322
  • QPS为一个请求,当TPS可能一个也可能多个
image-20231021145046318
image-20231021145046318
点击数
image-20231021145246964
image-20231021145246964
错误率
image-20231021145626824
image-20231021145626824
资源使用率
  • 接近是可以的(超过一些)
image-20231021145749098
image-20231021145749098
image-20231021150022654
image-20231021150022654
性能测试流程
image-20231021150923134
image-20231021150923134
image-20231021151240065
image-20231021151240065
image-20231021151356657
image-20231021151356657
性能测试用例
image-20231021151726709
image-20231021151726709
image-20231021152916503
image-20231021152916503
测试工具
image-20231021153822465
image-20231021153822465
jmeter黑马理论
image-20231021154431298
image-20231021154431298
image-20231021154509699
image-20231021154509699
元件
image-20231021154818479
image-20231021154818479
image-20231021155341069
image-20231021155341069
image-20231021155651683
image-20231021155651683
image-20231021155758192
image-20231021155758192
线程组
image-20231021162706336
image-20231021162706336
  • 直接点执行就可并行运行
  • 串行需要设定测试计划
image-20231021163041532
image-20231021163041532
image-20231021163138866
image-20231021163138866
image-20231021163159536
image-20231021163159536
image-20231021163927821
image-20231021163927821
http 请求
image-20231021164027732
image-20231021164027732
结果查看
image-20231021165322507
image-20231021165322507
image-20231021165439232
image-20231021165439232
参数化
image-20231021165702112
image-20231021165702112
image-20231021165805055
image-20231021165805055
image-20231021165922850
image-20231021165922850
image-20231021170626361
image-20231021170626361
image-20231021170708489
image-20231021170708489
  • 在此添加用户变量
用户参数
image-20231021170748707
image-20231021170748707
image-20231021171329142
image-20231021171329142
image-20231021171401057
image-20231021171401057
  • 变量名按csv中数据一一对应
image-20231021172115957
image-20231021172115957
jmeter与抓包实际应用
image-20231021194109370
image-20231021194109370
  • 在这个界面。可以过滤抓包工具发过来的数据图中为只显示
  • ip地址可以增加
image-20231021194222946
image-20231021194222946
  • 点击run可以将选定的规则应用
image-20231021194822813
image-20231021194822813
  • 软件的上半部分观看发送的数据,下半部分观看接收的数据
image-20231021195543334
image-20231021195543334
  • 可以直接点击这里复制内容到jmeter
image-20231021195907183
image-20231021195907183

点击登录按钮后出现两个ip,填写第一个ip的参数就能将数据对应并请求成功,但返回了两个内容这是为什么呢?

image-20231021200003089
image-20231021200003089
  • 通过抓包工具看第二条参数的反回内容可以发现反回的是登录跳转后的页面
image-20231021201356891
image-20231021201356891
  • 观看状态码,也可以得知是进行了从定向操作

想要知道请求发送是否是成功的,需要对比jmter和抓包工具的返回是否一致

image-20231021200728112
image-20231021200728112

分别对应jmeter中的

image-20231021200755329
image-20231021200755329
image-20231021200801557
image-20231021200801557
  • 如果请求数据不一样,则需要找问题
image-20231021201010023
image-20231021201010023

有多个请求相同的网址时,可以将其放在http请求默认值中

image-20231021201732328
image-20231021201732328
image-20231021201741175
image-20231021201741175

在两者记录数不匹配就是出问题了

image-20231021201904979
image-20231021201904979

一个返回跳转后的页面,另一个返回空

image-20231021201939295
image-20231021201939295
  • 原因是没有cookie,协议会自动清除cookie,所以需要添加一个
image-20231021202138927
image-20231021202138927
  • 请求间有关系时候必须加上
image-20231021202846694
image-20231021202846694

当post请求上传的要

image-20231021202930063
image-20231021202930063
image-20231021203034409
image-20231021203034409
  • 不能直接复制过去,要手动添加
  • 文件类型要另外添加
image-20231021203811574
image-20231021203811574
思考时间
image-20231021204314688
image-20231021204314688
检查点
  • 数据断言,没有断言就不能判断是都登录成功
image-20231021204719694
image-20231021204719694
参数化
image-20231021205323247
image-20231021205323247
  • 随机字符串
image-20231021205304153
image-20231021205304153
同步
image-20231021205438016
image-20231021205438016
事物
image-20231021205606821
image-20231021205606821
image-20231021205626423
image-20231021205626423
  • 事物下面要有请求
关联
image-20231021205835935
image-20231021205835935
image-20231021205938271
image-20231021205938271
image-20231021210034440
image-20231021210034440
image-20231021210050790
image-20231021210050790
image-20231021210057013
image-20231021210057013
生成测试报告

负载测试用命令行来做

image-20231021210356602
image-20231021210356602
image-20231021210505373
image-20231021210505373
  • jmeter -n -t E:\人资模块.jmx -l testgw.csv -e -o E:\a
  1. -n指定非图形模式运行,在命令行直接运行不弹出GUI界面。
  2. -t指定要运行的jmx测试文件。
  3. -l指定结果数据保存路径和文件名,生成csv格式数据文件。
  4. -e生成详细测试日志,包含每个请求的详细信息。
  5. -o指定生成HTML测试报告的目录。
性能测试的场景设计
image-20231021213404272
image-20231021213404272
image-20231021215134675
image-20231021215134675
  • 先理解业务需求
  • 写测试方案(没有正确答案,只有合理不合理)
loadrunner
  • 工具通过服务器有没有响应来判断是请求成功还是失败
image-20231024153554598
image-20231024153554598
  • 录制前的设置
image-20231023092454952
image-20231023092454952

script中上面的是录制用户的操作

下面的是录制用户发送的请求

做压力测试用下面

  • 记得选上这个utf
遇到脚本录制没有内容的情况
image-20231023100350438
image-20231023100350438

选择蓝色字体

image-20231023100418451
image-20231023100418451
  • 在advanced中选择use the loadrunner proxy 来使用代理录制
使用面板上的代理录制
image-20231023101520838
image-20231023101520838
image-20231023103328883
image-20231023103328883
  • 运行脚本时,显示不能编制的错误

该错误为运行脚本字符串编制不成功的问题,函数有一些是没有成功结束字符串

image-20231023104725981
image-20231023104725981
  • 文件上传记得要将文件路径更改为绝对路径或者将要找的文件放到脚本代码指定的寻找位置
脚本运行的思考时间设置了后
image-20231024103613349
image-20231024103613349
  • 需要启用
  • 第三个是思考时间的倍数
  • 第四个是思考时间波动
  • 第五个是思考时间不超过
image-20231024144507594
image-20231024144507594
删除谷歌登录\更新函数
image-20231024160105626
image-20231024160105626
查看网页内容
image-20231024153859697
image-20231024153859697

**

  • 网页快照
image-20231024154229795
image-20231024154229795
  • 箭头一是自己操作时候响应的内容
  • 粉色是回放时候响应的数据
image-20231024154811752
image-20231024154811752
  • 查找字符串函数搜red 函数模式一是找有特定文本的,可能会出现12OK也被匹配到
  • 将要查找的内容放在函数前面
集合点
image-20231024160419904
image-20231024160419904
  • lr_rendezvous(“aa”); 把集合点名字写上即可
将关注的业务变为事物
image-20231024160932434
image-20231024160932434
image-20231024161032617
image-20231024161032617
  • 集合点和思考时间最好不要加在事物中
参数化
image-20231024161434636
image-20231024161434636
image-20231024161856822
image-20231024161856822
image-20231024161910354
image-20231024161910354
  • 弹出的这个提示框表示是否要将全文中与选定字符串相等的内容替换
image-20231024162024922
image-20231024162024922
  • 在此查看
image-20231024162903265
image-20231024162903265
image-20231024163035526
image-20231024163035526
image-20231024163206840
image-20231024163206840
image-20231024163629794
image-20231024163629794
关联
image-20231024171213621
image-20231024171213621

发现添加的招聘计划附件上传不正常,于是去捕捉上传和保存的情况,

  • 得先找到变化的
  • rt_edit_id在人资料中是这个变化(保存文件招聘计划时候)
image-20231024170828093
image-20231024170828093
  • 自己编写的和运行中分别寻找并进行比对
    • 可以使用抓包工具来对比有什么不同之处
image-20231024171646634
image-20231024171646634
  • 先找body中的,然后找请求地址,最后zhao
image-20231024172043060
image-20231024172043060
  • 左右边界查找
image-20231024172203191
image-20231024172203191
  • 检查和关联很占系统的资源

做压力测试

  • 脚本使用场景中,log日志尽量少输出,选择错误时才输出
image-20231025170623343
image-20231025170623343
  • 初始化

存中…(img-fCrJAdRZ-1715391138328)]

[外链图片转存中…(img-RVBTYhis-1715391138328)]

关联

[外链图片转存中…(img-cVY2aUiO-1715391138329)]

发现添加的招聘计划附件上传不正常,于是去捕捉上传和保存的情况,

  • 得先找到变化的
  • rt_edit_id在人资料中是这个变化(保存文件招聘计划时候)

[外链图片转存中…(img-U8vdEKwz-1715391138329)]

  • 自己编写的和运行中分别寻找并进行比对
    • 可以使用抓包工具来对比有什么不同之处

[外链图片转存中…(img-IJkuQlrI-1715391138330)]

  • 先找body中的,然后找请求地址,最后zhao

[外链图片转存中…(img-yTi3Gkdl-1715391138330)]

  • 左右边界查找

[外链图片转存中…(img-h7iF1soU-1715391138331)]

  • 检查和关联很占系统的资源

做压力测试

  • 脚本使用场景中,log日志尽量少输出,选择错误时才输出

[外链图片转存中…(img-sAAMaCDI-1715391138331)]

  • 初始化
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 性能测试
    • 测试的策略
      • 基准测试
      • 负载测试
      • 稳定测试
      • 压力测试
      • 并发测试
    • 测试的指标
      • 响应时间
      • 并发数
      • 吞吐量
      • 点击数
      • 错误率
      • 资源使用率
    • 性能测试流程
      • 性能测试用例
    • 测试工具
      • jmeter黑马理论
        • 元件
        • 线程组
        • http 请求
        • 结果查看
        • 参数化
      • jmeter与抓包实际应用
        • 思考时间
        • 检查点
        • 参数化
        • 同步
        • 事物
        • 关联
        • 生成测试报告
      • 性能测试的场景设计
        • loadrunner
          • 遇到脚本录制没有内容的情况
          • 使用面板上的代理录制
          • 脚本运行的思考时间设置了后
          • 删除谷歌登录\更新函数
          • 查看网页内容
          • 集合点
          • 将关注的业务变为事物
          • 参数化
          • 关联
          • 关联
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档