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

软件测试 —— 性能测试(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.lryc.cn/news/526483.html

相关文章:

  • python介绍ransac算法拟合圆
  • WPS计算机二级•表格保护与打印
  • Vue组件开发-使用xlsx库导出Excel文件
  • 使用 Pipeline 提高 Redis 批量操作性能
  • 「 机器人 」利用冲程对称性调节实现仿生飞行器姿态与方向控制
  • 第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
  • 本地大模型编程实战(02)语义检索(1)
  • 自定义命令执行器:C++中命令封装的深度探索(C/C++实现)
  • C语言程序设计十大排序—选择排序
  • C语言初阶牛客网刷题——HJ73 计算日期到天数转换【难度:简单】
  • MATLAB中alphanumericsPattern函数用法
  • 人工智能在教育领域的创新应用与前景展望
  • 约束布局 ConstraintLayout
  • 校园商铺管理系统设计与实现(代码+数据库+LW)
  • react native在windows环境搭建并使用脚手架新建工程
  • vulnhub DC-1靶机 walkthrough
  • 计算机网络 (58)无线局域网WLAN
  • 基于物联网的风机故障检测装置的设计与实现
  • 【AI日记】25.01.25
  • Sourcetree:一款高效便捷的Git版本控制客户端
  • 图像处理算法研究的程序框架
  • GitLab配置免密登录和常用命令
  • Chameleon(变色龙) 跨平台编译C文件,并一次性生成多个平台的可执行文件
  • 第十四讲 JDBC数据库
  • “AI教学实训系统:打造未来教育的超级引擎
  • java读取设置pdf属性信息
  • C语言内存管理详解
  • mysql从全备文件中提取单库或单表进行恢复——筑梦之路
  • HTML-新浪新闻-实现标题-排版
  • 【前沿聚焦】机器学习的未来版图:从自动化到隐私保护的技术突破