当前位置: 首页 > article >正文

软件测试 —— 性能测试(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.kler.cn/a/514683.html

相关文章:

  • 深度学习笔记——循环神经网络RNN
  • vue3 通用svg组件
  • latin1_swedish_ci(latin1 不支持存储中文、日文、韩文等多字节字符)
  • NextJs - ServerAction获取文件并处理Excel
  • 数据结构-二叉树
  • 【JVM-9】Java性能调优利器:jmap工具使用指南与应用案例
  • llama 2代码详解
  • RK3568笔记七十六:使用V4L2框架录制MP4视频保存到本地
  • PAT甲级-1017 Queueing at Bank
  • 从入门到精通:RabbitMQ的深度探索与实战应用
  • 机器学习(4):决策树
  • Android实战经验篇-AndroidScrcpyClient投屏一
  • 使用docker打包部署jar包服务
  • 免费下载 | 2024中国智算中心产业发展白皮书
  • 【MySQL — 数据库基础】深入解析MySQL常用表操作
  • Servlet3 简单测试
  • 加强版第二十二章KTL光流法
  • priority_queue底层实现细节
  • 图片生成Prompt编写技巧
  • ASP.NET Blazor部署方式有哪些?
  • 让旅游更智能:基于AR的旅游导览应用解析
  • jupyter notebook环境问题
  • 爬虫基础之爬取某站视频
  • VIVO大数据面试题及参考答案
  • PID 控制算法(二):C 语言实现与应用
  • KT148A语音芯片一个mp3语音,有办法分成一段一段的吗