软件测试 —— 性能测试(jmeter)

软件测试 —— 性能测试(jmeter)

  • 什么是jmeter
  • 安装jmeter
  • jmeter常用组件
    • 线程组
    • 取样器
    • 结果树

我们之前学习了接口测试工具Postman,我们今天要学习的是性能测试工具——jmeter

什么是jmeter

Apache JMeter 是一个开源的性能测试工具,主要用于对Web应用进行负载和性能测试。它最初设计用于测试Web应用程序,但随着时间的发展,JMeter已经成为了一个多功能的性能测试工具,可以用来测试静态和动态资源、Web动态应用程序、FTP服务器、数据库服务器(通过JDBC)、LDAP服务等多种类型的服务。

以下是关于JMeter的一些关键点:

  • 用途:它可以模拟重负载来测试服务器、网络或对象的强度和性能,也可以用于回归测试以确保应用程序在不同的负载条件下仍然稳定运行。
  • 协议支持:除了HTTP/HTTPS外,还支持多种协议,如FTP、JDBC、JMS、SOAP、REST等。
  • 用户界面:提供图形用户界面(GUI)用于构建和执行测试计划,同时也支持命令行模式用于非GUI的批处理测试。
  • 可扩展性:JMeter拥有丰富的插件生态系统,可以通过第三方插件扩展其功能,例如支持更多类型的取样器、监听器、报告等。
  • 灵活配置:可以配置线程组(模拟用户数量)、定时器(模拟思考时间)、断言(验证响应)、监听器(收集和分析结果)等组件,以创建复杂的测试场景。
  • 结果分析:内置了多种监听器帮助分析测试结果,如聚合报告、视图结果树、响应时间图表等,还可以生成HTML格式的详细测试报告。
  • 跨平台:JMeter是基于Java的应用程序,因此可以在任何支持Java的平台上运行,包括Windows、Linux和macOS。
  • 社区支持:作为Apache软件基金会的一部分,JMeter有一个活跃的开发社区,提供文档、教程和技术支持。

JMeter是一个强大的工具,适用于需要评估系统在不同负载条件下的表现的开发者、测试人员和运维工程师。它不仅限于Web应用的性能测试,也可以应用于其他类型的软件和服务。

安装jmeter

首先jmeter是要在java环境上运行的,如果大家的java环境还没有安装好,可以在网上搜搜教程,这里不再过多赘述,我们这里主要介绍jmeter在配置好java环境之后的安装:

安装完java环境之后,我们可以来到jmeter的官网:

https://jmeter.apache.org/

在这里插入图片描述点击左旁的Downloads Releases:
在这里插入图片描述
选择Binaries下的zip:
在这里插入图片描述下载完之后,找个地方解压:
在这里插入图片描述
点进去找到bin文件:
在这里插入图片描述再点进去,找到jmeter.bat:
在这里插入图片描述双击,看看jmeter是否能运行:
在这里插入图片描述这样的话运行成功,但是这样我们运行jmeter时每次都要到bin文件目录下打开jmeter.bat,这样很麻烦,我们可以把bin文件的文件目录放到环境变量中:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
新建之后,把文件路径粘进去,然后一直点确定,就可以了。这时候打开cmd,在命令行直接输入jmeter就可以直接启动:

在这里插入图片描述如果想改变jmeter的语言设置,找到jmeter.properties:
在这里插入图片描述打开之后找到language这一行,改成language=zh_CN

在这里插入图片描述

jmeter常用组件

线程组

我们进入到jmeter的页面,在新的测试计划右击添加组件:线程组
在这里插入图片描述在这里插入图片描述这张图片显示了JMeter中线程组(Thread Group)的配置界面。以下是各个属性的解析:

  1. 线程数 (Number of Threads):

    • 设置为 1,表示将有1个虚拟用户参与测试。
  2. Ramp-Up时间 (秒) (Ramp-Up Period in Seconds):

    • 设置为 1,表示所有虚拟用户将在1秒内启动。如果设置为0,则所有虚拟用户会立即开始执行任务。
  3. 循环次数 (Loop Count):

    • 设置为 1,表示每个虚拟用户将执行一次测试计划中的采样器。如果选择“永远”(Forever),则虚拟用户将持续执行直到测试被手动停止。
  4. Same user on each iteration:

    • 选中此选项表示在每次迭代中使用相同的用户凭证。这通常用于需要保持会话状态的测试场景。
  5. 延迟创建线程直到需要 (Delay Thread Creation Until Needed):

    • 未选中,这意味着线程会在测试开始时立即创建。
  6. 调度器 (Scheduler):

    • 未选中,这意味着测试将持续运行,直到所有线程完成它们的任务或达到循环次数。
  7. 持续时间 (秒) (Duration in Seconds):

    • 空白,表示没有设置持续时间。如果设置了持续时间,测试将在指定的时间后自动停止。
  8. 启动延迟 (秒) (Start Delay in Seconds):

    • 空白,表示没有设置启动延迟。如果设置了启动延迟,测试将在指定的时间后开始。

我们现在只是设置了线程组,还没有设置请求,还无法执行,如果我们要执行,还要添加取样器

取样器

在线程组上右击,添加HTTP取样器:

在这里插入图片描述在这里插入图片描述我们填入百度的信息试一下:
在这里插入图片描述这个时候如果我们想看运行结果,要添加结果树

结果树

在这里插入图片描述
在这里插入图片描述
这个时候我们可以点击左上方的绿色按钮:
在这里插入图片描述
在这里插入图片描述这个时候可以看到我们的运行结果,我们可以看一下请求和相应数据:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

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

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

相关文章

电阻补偿OTA的噪声分析

上文(补偿电阻对ota零极点的影响-CSDN博客)分析了补偿电阻对五管OTA零极点的影响,该篇借分析电阻补偿OTA的噪声来串联复习下噪声章节的一些基础概念。 1.噪声分析 辅助定理 开始分析OTA噪声之前,先引入一个辅助定理(R…

从CRUD到高级功能:EF Core在.NET Core中全面应用(四)

初识表达式树 表达式树:是一种可以描述代码结构的数据结构,它由一个节点组成,节点表示代码中的操作、方法调用或条件表达式等,它将代码中的表达式转换成一个树形结构,每个节点代表了代码中的操作例如,如果…

C语言初阶力扣刷题——349. 两个数组的交集【难度:简单】

1. 题目描述 力扣在线OJ题目 给定两个数组,编写一个函数来计算它们的交集。 示例: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出:[2] 输入:nums1 [4,9,5], nums2 [9,4,9,8,4] 输出:[9,4] 2. 思路 直接暴力…

在Qt中实现点击一个界面上的按钮弹窗到另一个界面

文章目录 步骤 1:创建新窗口类步骤 2:设计窗口的 UI步骤 3:设计响应函数 以下是一个完整的示例,展示在Qt中如何实现在一个窗口中通过点击按钮弹出一个新窗口。 步骤 1:创建新窗口类 假设你要创建一个名为 WelcomeWidg…

dm8在Linux环境安装精简步骤说明(2024年12月更新版dm8)

dm8在Linux环境安装详细步骤 - - 2025年1月之后dm8 环境介绍1 修改操作系统资源限制2 操作系统创建用户3 操作系统配置4 数据库安装5 初始化数据库6 实例参数优化7 登录数据库配置归档与备份8 配置审计9 创建用户10 屏蔽关键字与数据库兼容模式11 jdbc连接串配置12 更多达梦数据…

Spring MVC 综合案例

目录 一. 加法计算器 1. 准备工作 2. 约定前后端交互接口 需求分析 接口定义 3. 服务器端代码 4. 运行测试 二. 用户登录 1. 准备工作 2. 约定前后端交互接口 需求分析 接口定义 (1) 登录界面接口 (2) 首页接口 3. 服务器端代码 4. 运行测试 三. 留言板 1. 准备…

神经网络|(一)加权平均法,感知机和神经元

【1】引言 从这篇文章开始,将记述对神经网络知识的探索。相关文章都是学习过程中的感悟和理解,如有雷同或者南辕北辙的表述,请大家多多包涵。 【2】加权平均法 在数学课本和数理统计课本中,我们总会遇到求一组数据平均值的做法…

PostGIS笔记:PostgreSQL 数据库与用户 基础操作

数据库基础操作包括数据模型的实现、添加数据、查询数据、视图应用、创建日志规则等。我这里是在Ubuntu系统学习的数据库管理。Windows平台与Linux平台在命令上几乎无差异,只是说在 Windows 上虽然也能运行良好,但在性能、稳定性、功能扩展等方面&#x…

【精选】基于数据挖掘的招聘信息分析与市场需求预测系统 职位分析、求职者趋势分析 职位匹配、人才趋势、市场需求分析数据挖掘技术 职位需求分析、人才市场趋势预测

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

【Redis】常见面试题

什么是Redis? Redis 和 Memcached 有什么区别? 为什么用 Redis 作为 MySQL 的缓存? 主要是因为Redis具备高性能和高并发两种特性。 高性能:MySQL中数据是从磁盘读取的,而Redis是直接操作内存,速度相当快…

python学opencv|读取图像(四十二)使用cv2.add()函数实现多图像叠加

【1】引言 前序学习过程中,掌握了灰度图像和彩色图像的掩模操作: python学opencv|读取图像(九)用numpy创建黑白相间灰度图_numpy生成全黑图片-CSDN博客 python学opencv|读取图像(四十)掩模:三…

将 OneLake 数据索引到 Elasticsearch - 第 1 部分

作者:来自 Elastic Gustavo Llermaly 学习配置 OneLake,使用 Python 消费数据并在 Elasticsearch 中索引文档,然后运行语义搜索。 OneLake 是一款工具,可让你连接到不同的 Microsoft 数据源,例如 Power BI、Data Activ…

开源项目Umami网站统计MySQL8.0版本Docker+Linux安装部署教程

Umami是什么? Umami是一个开源项目,简单、快速、专注用户隐私的网站统计项目。 下面来介绍如何本地安装部署Umami项目,进行你的网站统计接入。特别对于首次使用docker的萌新有非常好的指导、参考和帮助作用。 Umami的github和docker镜像地…

Java程序基础⑪Java的异常体系和使用

目录 1. 异常的概念和分类 1.1 异常的概念 1.2 异常的分类 2. 异常的体系结构 3. 异常的处理 3.1 异常的抛出 3.2 异常的捕获与处理 3.3 异常的处理流程 4. 自定义异常类 4.1 自定义异常类的规则 4.2 自定义异常案例 1. 异常的概念和分类 1.1 异常的概念 在Java中&…

大话特征工程:1.维数灾难与特征轮回

一、维度深渊 公元 2147 年,人类文明进入了数据驱动的超级智能时代。从金融到医疗,从教育到娱乐,所有决策都仰赖“全维计算网络”(高维特征空间)。这套系统将全球所有信息抽象成数以亿计的多维特征&#xff08…

libOnvif通过组播不能发现相机

使用libOnvif库OnvifDiscoveryClient类, auto discovery new OnvifDiscoveryClient(QUrl(“soap.udp://239.255.255.250:3702”), cb.Build()); 会有错误: end of file or no input: message transfer interrupted or timed out(30 sec max recv delay)…

JVM常见知识点

在《深入理解Java虚拟机》一书中,介绍了JVM的相关特性。 1、JVM的内存区域划分 在真实的操作系统中,对于地址空间进行了分区域的设计,由于JVM是仿照真实的机器进行设计的,那么也进行了分区域的设计。核心区域有四个,…

Windows系统Tai时长统计工具的使用体验

Windows系统Tai时长统计工具的使用体验 一、Tai介绍1.1 Tai简介1.2 安装环境要求 二、下载及安装Tai2.1 下载Tai2.2 运行Tai工具 三、Tai的使用体验3.1 系统设置3.2 时长统计3.3 分类管理 四、总结 一、Tai介绍 1.1 Tai简介 Tai是一款专为Windows系统设计的开源软件&#xff…

【架构面试】二、消息队列和MySQL和Redis

MQ MQ消息中间件 问题引出与MQ作用 常见面试问题:面试官常针对项目中使用MQ技术的候选人提问,如如何确保消息不丢失,该问题可考察候选人技术能力。MQ应用场景及作用:以京东系统下单扣减京豆为例,MQ用于交易服和京豆服…

HTML一般标签和自闭合标签介绍

在HTML中,标签用于定义网页内容的结构和样式。标签通常分为两类:一般标签(也称为成对标签或开放闭合标签)和自闭合标签(也称为空标签或自结束标签)。 以下是这两类标签的详细说明: 一、一般标…