软件测试学习笔记-使用jmeter进行性能测试

性能测试:使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程。
性能测试的目的:

  1. 评估当前系统的能力
  2. 寻找性能瓶颈,优化性能
  3. 评估软件是否能够满足未来的需要

性能测试和功能测试对比
焦点不同:功能(正向、逆向)、性能(时间、资源)
关系:先功能测试,再性能测试
1. 基准测试
狭义上:就是单用户测试。测试环境确定后,对业务模型中的重要业务做单独的测试,获取用户运行时的各项性能指标。
广义上:是一种测量和评估软件性能指标的活动。在某个时间通过基准测试建立一个已知的性能基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响。
jmeter设置线程数为1,循环次数100(反正不是1)
2. 负载测试
通过逐步增加系统负载,确定在满足系统的性能指标情况下,找出系统所能承受的最大负载量的测试。
请添加图片描述

文章目录

        • 1. 线程组的特点和分类
          • 1. 线程组的特点
          • 2. 线程组的分类
        • 2. 响应结果出现乱码(查看结果树)
        • 3. jmeter逻辑控制器
          • 1. IF控制器
          • 2. 循环控制器
          • 3. ForEach控制器
        • 4. 定时器
          • 1. 同步定时器
          • 2. 常数吞吐量定时器

1. 线程组的特点和分类
1. 线程组的特点

特点:

  1. 模拟多人操作
  2. 线程组可以添加多个,多个线程组可以并行或串行
  3. 取样器(请求)和逻辑控制器必须依赖线程组才可以使用

并行:
在这里插入图片描述
可以看到执行顺序是baidu再taobao,不是根据实际设置的顺序执行的。
串行:
在这里插入图片描述
在测试计划中选中 独立运行每个线程组,运行结果如下:
在这里插入图片描述

2. 线程组的分类
  1. 线程组:普通的、常用的线程组,可以看做一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户。
  2. setUp线程组:一种特殊类型的线程组,可用户执行预测试操作
  3. tearDown线程组:一种特殊的线程组,可用于执行测试后工作

在这里插入图片描述
设置并行或串行只对普通线程组有效。
请添加图片描述

2. 响应结果出现乱码(查看结果树)

解决办法:

  1. 找到jmeter安装目录下的bin目录
  2. 打开jmeter.properties文件,修改配置
    sampleresult.default.encoding=UTF-8
  3. 重启jmeter
3. jmeter逻辑控制器
1. IF控制器
  1. 用户定义的变量
    在这里插入图片描述
  2. IF控制器
    在这里插入图片描述
  3. 结构:
    在这里插入图片描述
2. 循环控制器

在这里插入图片描述
== 线程组循环次数和循环控制器的区别?==
不同点:线程组的循环次数对线程组下的所有HTTP请求有效,循环控制器的循环次数对子节点下的HTTP请求有效;
关联:循环控制器次数为M,线程组循环次数为N

  1. 循环控制下的请求运行:M*N次
  2. 线程组下,非循环控制器下的请求运行:N次
3. ForEach控制器

一般和用户自定义变量或正则表达式提取器一起使用,读取返回结果中一系列相关的变量。
用户定义的变量:
在这里插入图片描述
ForEach控制器:
在这里插入图片描述
HTTP请求:
在这里插入图片描述
结构:
在这里插入图片描述

4. 定时器
1. 同步定时器

阻塞线程(累计一定的请求),当在规定的时间内达到一定的线程数量,这些线程会在同一时间点一起释放,瞬间产生很大的压力。
集合点
固定等待:线程数大于分组集合点数,且等待超时响应时间为0
隐式等待:不管线程数和集合点数谁大谁小,只要到了等待超时时间,立马执行所有的线程

2. 常数吞吐量定时器

使用指定的吞吐量发送请求时,可以使用常数吞吐量定时器。
在这里插入图片描述
目标吞吐量:每个用户每分钟发送的请求数
一个用户以20qps的频率访问百度首页,持续一段时间,统计运行情况。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于FPGA的图像最近邻插值算法verilog实现,包括tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 将FPGA数据导入matlab显示图片,效果如下: 2.算法运行软件版本 vivado2019.2,matlab2022a 3.部分核心程序 ti…

【开源】SpringBoot框架开发高校学生管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 学生管理模块2.2 学院课程模块2.3 学生选课模块2.4 成绩管理模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 学生表3.2.2 学院课程表3.2.3 学生选课表3.2.4 学生成绩表 四、系统展示五、核心代码5.1 查询课程5.2 新…

开源软件:引领技术创新与商业模式转型

开源软件:引领技术创新与商业模式转型 随着信息技术的飞速发展,开源软件已然成为推动软件行业进步的重要力量。它不仅促进了技术的创新和应用,还催生了多样化的商业模式,深刻影响着全球软件生态系统的演变。 ### 开源软件与技术…

DQN的理论研究回顾

DQN的理论研究回顾 1. DQN简介 强化学习(RL)(Reinforcement learning: An introduction, 2nd, Reinforcement Learning and Optimal Control)一直是机器学习的一个重要领域,近几十年来获得了大量关注。RL 关注的是通…

服务器和CDN推荐

简介 陆云Roovps是一家成立于2021年的主机服务商,主要业务是销售美国服务器、香港服务器及国外湖北十堰高防服务器,还有相关CDN产品。( 地址:roovps) 一、相关产品

C语言之数据在内存中的存储

目录 1. 整数在内存中的存储2. 大小端字节序和字节序判断什么是大小端?为什么有大小端?练习1练习2练习3练习4练习5练习6 3. 浮点数在内存中的存储浮点数存的过程浮点数取得过程练习题解析 1. 整数在内存中的存储 在讲解操作符的时候,我们已经…

ffmpeg的使用,安装,抽帧,加水印,截图,生成gif,格式转换,抓屏等

实际使用中总结的关于ffmpeg对视频的处理的记录文档 具体信息: http://ffmpeg.org/download.html 官网下载ffmpeg 关于ffmpeg的安装详细步骤和说明 装ffmpeg 方式,Linux和windows下的 http://bbs.csdn.net/topics/390519382 php 调用ffmpeg , http://bbs.csdn.net/t…

机器学习之正态分布

正态分布:也称常态分布,又名高斯分布。正态曲线呈钟形,两头低,中间高,左右对称因其曲线呈钟形,也称钟形曲线。若随机变量X服从一个数学期望为μ、方差为 σ 2 \sigma^2 σ2的正态分布,记为N(μ, σ 2 σ^2 σ2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准…

(篇九)MySQL常用内置函数

目录 ⌛数学函数 ⌛字符串函数 ⌛聚合函数 ⌛日期函数 📐获取当前时间 📐获取时间的某些内容 📐​编辑 📐格式化函数 📏format类型: ⌛系统信息函数 ⌛类型转换函数 数学函数 字符串函数 聚合函…

SSH口令问题

SSH(Secure Shell)是目前较可靠、专为远程登录会话和其他网络服务提供 安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。 SSH口令长度太短或者复杂度不够,如仅包含数字或仅包含字母等时&#xf…

html5 audio video

DOMException: play() failed because the user didn‘t interact with the document first.-CSDN博客 不可用: 可用: Google Chrome Close AutoUpdate-CSDN博客

[C++] 如何使用Visual Studio 2022 + QT6创建桌面应用

安装Visual Studio 2022和C环境 [Visual Studio] 基础教程 - Window10下如何安装VS 2022社区版_visual studio 2022 社区版-CSDN博客 安装QT6开源版 下载开源版本QT Try Qt | 开发应用程序和嵌入式系统 | Qt Open Source Development | Open Source License | Qt 下载完成&…

请问半吊子 C++选手该如何深入学习 C++?

请问半吊子 C选手该如何深入学习 C? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!&#xff0…

React 实现表单组件

表单是html的基础元素,接下来我会用React实现一个表单组件。支持包括输入状态管理,表单验证,错误信息展示,表单提交,动态表单元素等功能。 数据状态 表单元素的输入状态管理,可以基于react state 实现。 …

亚马逊运营新手指南:10个基础概念解析

亚马逊作为全球最大的在线零售平台,为卖家们提供了巨大的商机。然而,跳入这片繁荣的电商海洋之前,了解一些基础概念是成功的关键。以下是每位亚马逊运营新手必须掌握的10个基础概念,帮助你建立起有效的跨境电商策略。 亚马逊10个基…

【证书管理】实验报告

证书管理实验 【实验环境】 ISES客户端 【实验步骤】 查看证书 查看证书详细信息 选择任意证书状态,在下方“证书列表”中出现符合要求的所有证书。在“证书列表”中点击要查看证书,在右侧“证书详细信息”栏出现被选证书信息。 上述操作如图1.2.…

【AWS】step-functions

这里写自定义目录标题 step-functionsState machine typeStandard workflowsExpress workflows 收费 step-functions https://us-east-2.console.aws.amazon.com/states/home?regionus-east-2#/homepage 功能: 配置工作流,工作流中的每个步骤称为一个…

Elasticsearch:基本 CRUD 操作 - Python

在我之前的文章 “Elasticsearch:关于在 Python 中使用 Elasticsearch 你需要知道的一切 - 8.x”,我详细讲述了如何建立 Elasticsearch 的客户端连接。我们也详述了如何对数据的写入及一些基本操作。在今天的文章中,我们针对数据的 CRUD (cre…

C++后端开发之Sylar学习三:VSCode连接Ubuntu配置Gitee

C后端开发之Sylar学习三:VSCode连接Ubuntu配置Gitee 为了记录学习的过程,学习Sylar时写的代码统一提交到Gitee仓库中。 Ubuntu配置Gitee 安装git sudo apt-get install -y git配置用户名和邮箱 git config --global user.name 用户名 …

ArcGISPro中Python相关命令总结

主要总结conda方面的相关命令 列出当前活动环境中的包 conda list 列出所有 conda 环境 conda env list 克隆环境 克隆以默认的 arcgispro-py3 环境为模版的 my_env 新环境。 conda create --clone arcgispro-py3 --name my_env --pinned 激活环境 activate my_env p…