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

你好,我是Qiuner. 为记录自己编程学习过程和帮助别人少走弯路而写博客 这是我的 github gitee

如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 😄 (^ ~ ^)

想看更多 那就点个关注吧 我会尽力带来有趣的内容
本文档基于 https://www.bilibili.com/video/BV1wC4y1Y7yX/?spm_id_from=333.337.search-card.all.click&vd_source=077127c579b82c23164b07dbc24cd570 这套黑马程序员的课,在其中加了不少个人的感悟。相信您看后一定能够加深理解

性能测试

  • 测试环境和用户环境一致
  • 性能测试的指标不是在测试结束后同意收集

测试的策略

基准测试

image-20231021111855403

image-20231021111906125

image-20231021111945410

  • 要测多次

image-20231021112004565

负载测试

image-20231021112217559

image-20231021112504511

稳定测试

image-20231021113217156

  • 1、把最大负载量变成15后再来稳定测试
  • 2、负载量以10来测试即可

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-20231021141718648

并发测试

image-20231021142344140

image-20231021142609741

image-20231021142749453

测试的指标

响应时间

image-20231021143029894

image-20231021143534106

并发数

image-20231021143710850

image-20231021143813774

吞吐量

image-20231021144054212

image-20231021144500753

  • QPS需要配合具体操作才有意义

image-20231021144757322

  • QPS为一个请求,当TPS可能一个也可能多个

image-20231021145046318

点击数

image-20231021145246964

错误率

image-20231021145626824

资源使用率
  • 接近是可以的(超过一些)

image-20231021145749098

image-20231021150022654

性能测试流程

image-20231021150923134

image-20231021151240065

image-20231021151356657

性能测试用例

image-20231021151726709

image-20231021152916503

测试工具

image-20231021153822465

jmeter黑马理论

image-20231021154431298

image-20231021154509699

元件

image-20231021154818479

image-20231021155341069

image-20231021155651683

image-20231021155758192

线程组

image-20231021162706336

  • 直接点执行就可并行运行
  • 串行需要设定测试计划

image-20231021163041532

image-20231021163138866

image-20231021163159536

image-20231021163927821

http 请求

image-20231021164027732

结果查看

image-20231021165322507

image-20231021165439232

参数化

image-20231021165702112

image-20231021165805055

image-20231021165922850

image-20231021170626361

image-20231021170708489

  • 在此添加用户变量
用户参数

image-20231021170748707

image-20231021171329142

image-20231021171401057

  • 变量名按csv中数据一一对应

image-20231021172115957

jmeter与抓包实际应用

image-20231021194109370

  • 在这个界面。可以过滤抓包工具发过来的数据图中为只显示

  • ip地址可以增加

    image-20231021194222946

  • 点击run可以将选定的规则应用

image-20231021194822813

  • 软件的上半部分观看发送的数据,下半部分观看接收的数据

image-20231021195543334

  • 可以直接点击这里复制内容到jmeter

image-20231021195907183

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

image-20231021200003089

  • 通过抓包工具看第二条参数的反回内容可以发现反回的是登录跳转后的页面

image-20231021201356891

  • 观看状态码,也可以得知是进行了从定向操作

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

image-20231021200728112

分别对应jmeter中的

image-20231021200755329

image-20231021200801557

  • 如果请求数据不一样,则需要找问题

image-20231021201010023

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

image-20231021201732328

image-20231021201741175

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

image-20231021201904979

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

  • 原因是没有cookie,协议会自动清除cookie,所以需要添加一个

  • image-20231021202138927

  • 请求间有关系时候必须加上

image-20231021202846694

当post请求上传的要

image-20231021202930063

image-20231021203034409

  • 不能直接复制过去,要手动添加
  • 文件类型要另外添加

image-20231021203811574

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

思考时间

image-20231021204314688

检查点
  • 数据断言,没有断言就不能判断是都登录成功

image-20231021204719694

参数化

image-20231021205323247

  • 随机字符串

image-20231021205304153

同步

image-20231021205438016

事物

image-20231021205606821

image-20231021205626423

  • 事物下面要有请求
关联

image-20231021205835935

image-20231021205938271

image-20231021210034440

image-20231021210050790

image-20231021210057013

生成测试报告

负载测试用命令行来做

image-20231021210356602

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-20231021215134675

  • 先理解业务需求
  • 写测试方案(没有正确答案,只有合理不合理)

loadrunner

  • 工具通过服务器有没有响应来判断是请求成功还是失败

image-20231024153554598

  • 录制前的设置

image-20231023092454952

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

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

做压力测试用下面

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

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

image-20231023100350438

选择蓝色字体

image-20231023100418451

  • 在advanced中选择use the loadrunner proxy 来使用代理录制
使用面板上的代理录制

image-20231023101520838

image-20231023103328883

  • 运行脚本时,显示不能编制的错误

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

image-20231023104725981

  • 文件上传记得要将文件路径更改为绝对路径或者将要找的文件放到脚本代码指定的寻找位置
脚本运行的思考时间设置了后

image-20231024103613349

  • 需要启用
  • 第三个是思考时间的倍数
  • 第四个是思考时间波动
  • 第五个是思考时间不超过

image-20231024144507594

删除谷歌登录\更新函数

image-20231024160105626

查看网页内容

image-20231024153859697 **

  • 网页快照

image-20231024154229795

  • 箭头一是自己操作时候响应的内容
  • 粉色是回放时候响应的数据

image-20231024154811752

  • 查找字符串函数搜red 函数模式一是找有特定文本的,可能会出现12OK也被匹配到
  • 将要查找的内容放在函数前面
集合点

image-20231024160419904

  • lr_rendezvous(“aa”); 把集合点名字写上即可
将关注的业务变为事物

image-20231024160932434

image-20231024161032617

  • 集合点和思考时间最好不要加在事物中
参数化

image-20231024161434636

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

image-20231024161856822

image-20231024161910354

  • 弹出的这个提示框表示是否要将全文中与选定字符串相等的内容替换

image-20231024162024922

  • 在此查看

image-20231024162903265

image-20231024163035526

image-20231024163206840

image-20231024163629794

关联

image-20231024171213621

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

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

image-20231024170828093

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

image-20231024171646634

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

image-20231024172043060

  • 左右边界查找

image-20231024172203191

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

做压力测试

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

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)]

  • 初始化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/616390.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AJ65SBT2B-64DA 三菱CC-Link D/A转换模块

AJ65SBT2B-64DA 是将数字值(16位有符号BIN数据)转换为模拟值(电压或电流)的模块。 AJ65SBT2B-64DA参数说明:4通道;输入分辨率0~12000,-12000~12000,-16000~16000;输出DC-10~10V,DC0~20mA;转换速…

算法提高之电路维修

算法提高之电路维修 核心思想:双端队列bfs dijkstra算法的拓展情况:边权(旋转次数)只有0和1 dijkstra算法要求:每次取离原点最近的点 去更新其他相邻点距离(多次) 如何实现:将所有边权为0的边连的点放入队头,边权为1的…

社交媒体数据恢复:密聊猫

一、概述 密聊猫是一款提供多种优质体验的手机社交聊天软件。通过这款软件,用户可以享受到多种不同的乐趣体验,如真人在线匹配、真实的交友体验等。同时,密聊猫也提供了数据恢复功能,帮助用户找回丢失的数据。 二、数据恢复步骤…

[算法][数组][leetcode]2391. 收集垃圾的最少总时间

题目地址: https://leetcode.cn/problems/minimum-amount-of-time-to-collect-garbage/description/ 题解: class Solution {public int garbageCollection(String[] garbage, int[] travel) {int ans 0;//先计算收所有的垃圾需要多少时间for(String s :garbage){…

HR人才测评,表达能力与岗位胜任力素质测评

什么是表达能力? 表达能力指的就是在语言能力基础之上发展形成的一种语用能力,可以结合自己所掌握的语言来实现交际的目的,能正确且灵活的把语言材料组合成为语言并且表达出想要表达的内容。 在百度百科中有如此定义,表达能力…

软件测试用例

测试用例的目的:为了实施测试面向测试系统提供的一组集合,这组集合包含:测试环境,操作步骤,测试数据,预期结果等要素 注:测试用例覆盖率越高,说明测试质量越高 测试用例覆盖率越低&…

大数据测试

1、前言 大数据测试是对大数据应用程序的测试过程,以确保大数据应用程序的所有功能按预期工作。大数据测试的目标是确保大数据系统在保持性能和安全性的同时,平稳无差错地运行。 大数据是无法使用传统计算技术处理的大型数据集的集合。这些数据集的测试涉…

codeforces round 149 div2(a,b,c,d)

手速场&#xff0c;可惜我傻逼卡 c c c了 题目链接 A #include<bits/stdc.h>using namespace std;#define int long long #define PII pair<int,int>void solve() {int n,k;cin>>n>>k;if(n<k){cout<<1<<\n;cout<<n<<\n;}…

【JVM】阅读Class字节码:常量池

目录 基本结构解析 常量池 常量池简介 如何阅读Class文件中的常量池信息 基本结构解析 Magic(魔数) Magic的唯一作用是确定这个文件是否为一个能被虚拟机所接受的class 文件。魔数值固定为0xCAFEBABE&#xff0c;不会改变。 常量池 常量池简介 下图是反编译过后的字节码文…

【机器学习】 技术栈和开发环境搭建

各位大佬好 &#xff0c;这里是阿川的博客 &#xff0c; 祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 博客目录 技术栈编程语言库框架编辑器项目IDE …

Maven 的仓库、周期和插件

优质博文&#xff1a;IT-BLOG-CN 一、Maven 仓库 在Maven的世界中&#xff0c;任何一个依赖、插件或者项目构建的输出&#xff0c;都可以称为构建。Maven在某个统一的位置存储所有项目的共享的构建&#xff0c;这个统一的位置&#xff0c;我们就称之为仓库。任何的构建都有唯一…

【Linux】AlmaLinux 9.4版本发布

AlmaLinux 9.4 正式版发布&#xff0c;该版本基于 Redhat Enterprise 9.4&#xff0c;内核版本号&#xff1a; 5.14.0-427.13.1.el9_4.x86_64 相对于Rocky Linux&#xff0c; AlmaLinux更加的稳定&#xff0c;生产环境建议使用AlmaLinux来替代CentOS 7.x AlmaLinux 9.4版本系统…

Star-CCM+绘制网格-全局网格定义(网格类型选择、薄体网格、网格重置)

前言 绘制网格是有限体积法仿真中必不可少的环节。目前Star-CCM+新版本(2304版)导入面网格只可以导入到部件中。网格类型也只能在操作中完成。零部件导入部件后,选中参与计算的全部部件→右键选择“将部件分配给区域”。此处需要注意的是,只有分配给区域后的部件才能进行网…

Java医院绩效管理应用系统源码java+ maven+ avue 公立医院绩效考核管理系统源码 支持二开

Java医院绩效管理应用系统源码java maven avue 公立医院绩效考核管理系统源码 支持二开 医院绩效管理系统解决方案紧扣新医改形势下医院绩效管理的要求&#xff0c;以“工作量为基础的考核方案”为核心思想&#xff0c;结合患者满意度、服务质量、技术难度、工作效率、医德医风…

详解typora配置亚马逊云科技Amazon S3图床

欢迎免费试用亚马逊云科技产品&#xff1a;https://mic.anruicloud.com/url/1333 当前有很多不同的博客社区&#xff0c;不同的博客社区使用的编辑器也不尽相同&#xff0c;大概可以分为两种&#xff0c;一种是markdown格式&#xff0c;另外一种是富文本格式。例如华为云开发者…

【基于 PyTorch 的 Python 深度学习】6 视觉处理基础:卷积神经网络(1)

前言 文章性质&#xff1a;学习笔记 &#x1f4d6; 学习资料&#xff1a;吴茂贵《 Python 深度学习基于 PyTorch ( 第 2 版 ) 》【ISBN】978-7-111-71880-2 主要内容&#xff1a;根据学习资料撰写的学习笔记&#xff0c;该篇主要介绍了卷积神经网络的卷积层部分。 预&#xff1…

计算机字符集产生的历史与乱码

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…

halcon 2D模板匹配 3D

一、概述 模板匹配常用于定位和查找&#xff0c;有很多的方式&#xff0c;halcon 中就有灰度匹配 、形状匹配、变形匹配、缩放匹配等&#xff0c;其实最常用的还是两种第一个就是灰度匹配、还有就是形状匹配 二、金字塔概述 网上有很多关于金字塔的解释&#xff0c;我这里直…

JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测

JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测 目录 JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现TTAO-CNN-BiLSTM-MATT三角拓扑聚合优化器优化双向长短期记忆神经网络融合多头注意力…

智慧园区能耗管控系统,3D可视化开发都需要哪些技术栈?

数据可视化&#xff1a; 数据可视化是将数据通过图表、图形、地图等可视化方式展示&#xff0c;使得数据更加直观、易于理解和分析。在智慧园区能耗管控系统中&#xff0c;可以使用各种图表库&#xff08;如Echarts、Highcharts&#xff09;和可视化工具&#xff08;如Tableau…