Jmeter压力测试工具,软件压力测试怎么做

4747 687 2023-01-23

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

本文讲述了Jmeter压力测试工具,软件压力测试怎么做。

概述

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。


下载安装

  • 下载地址:https://jmeter.apache.org/download_jmeter.cgi

  • 系统要求:JMeter2.11 需要JDK1.6以上的版本支持运行

  • 安装方法:解压-->安装JDK-->配置环境变量JAVA_HOME。

  • 启动:进入bin目录运行jmeter.bat启动jmeter
    注意:打开的时候会有两个窗口,JMeter的命令窗口和JMeter的图形操作界面,不可以关闭命令窗口。

运行JMeter.bat

打开之后显示的是英文,如果你想使用其他语言,比如中文,那么通过菜单选项->选择语言->中文即可,当然转为英文也是同样操作。


语言转换

测试组件介绍

打开Jmeter页面:包括测试计划+工作台
Test Plan (测试计划):用来描述一个性能测试,包含与本次性能测试所有相关的功能。也就说本的性能测试的所有内容是于基于一个计划的。
工作台:在测试中我们可能需要暂时更改一些组件,可以把一些需要更改的组件保存在工作台中,测试完成后再恢复,但是切记:不能退出jmeter.一旦退出jmeter,工作台中的内容就会消失。

1 线程组(Test Group)

添加线程组

1) thread group(线程组): 这个就是我们通常添加运行的线程。通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。
2) setup thread group:一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。
3) teardown thread group: 一种特殊类型的ThreadGroup的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。

线程组

虽然有三个添加线程组的选项,名字不一样, 创建之后,其界面是完全一样的。

名称:TestTry,就如字面意思,起个有意义的名字就行
注释:Just try a test
线程数:这里选择10
Ramp-Up Period:单位是秒,默认时间是1秒。它指定了启动所有线程所花费的时间,比如,当前的设定表示“在1秒内启动10个线程,每个线程的间隔时间为0.1秒”。如果你需要Jmeter立即启动所有线程,将此设定为0即可
循环次数:表示每个线程执行多少次请求。

2 配置元件(Config Element)

配置元件

配置元件用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池 (Data Pool),而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制无件则可以修改 Sampler的默认数据。
例如,HTTP Cookie Manager 可以用于对 HTTP Request Sampler 的 cookie 进行管理。HTTP 请求默认值不会触发Jmeter发送http请求,而只是定义HTTP请求的默认属性。

3 定时器(Timer)

定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。类似于LoadRunner里面的“思考时间”。 JMeter 定义了Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。

4 前置处理器(Per Processors)

前置处理器用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修复符则可以实现URL重写,当RUL中有sessionID 一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID 。

5 后置处理器(Post Processors)

后置处理器是用于对Sampler 发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。例如,XPath  Extractor 则可以用于提取响应数据中通过给定XPath 值获得的数据;正则表达式提取器,则可以提取响应数据中通过正则表达式获得的数据。

6 断言(Assertions)

断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。

7 测试片段(Test Fragment)

测试片段元素是控制器上的一个种特殊的线程组,它在测试树上与线程组处于一个层级。它与线程组有所不同,因为它不被执行,除非它是一个模块控制器或者是被控制器所引用时才会被执行。

8 非测试原件

为保证产品质量,任何软件或网站在上线之前,软件测试工作是必不可少的。压力测试作为软件测试中的重要组成部分,主要是通过给软件系统不断加压,观察软件在极限状态下的情况下可以运行到哪个部分,是否有性能、功能上的缺陷以及效率状况和可承受的压力情况。

一、常见软件压力测试方法 

1、手动测试手动测试就是需要软件测试人员手动完成的测试任务,适用于灵活且小规模的测试工作

2、自动化压力测试工具压力测试的本质是通过给系统不断增加负载来测试软件系统的各项指标,以了解系统的可靠性和瓶颈,因此自动化压力测试工具可以很好的用来模拟多用户操作。

二、常见压力测试流程

1、确定测试范围以及场景。首先要确定压力测试范围以及测试的数据库和测试用例等,因为压力测试对环境的要求比较高,因此要做好软硬件的环境准备以及测试场景的搭建。

2、存量数据规模。准备充足的存量数据可进行测试。

3、确定操作用户数量、时间要求等。通过测试工具来模拟操作用户数量,可同时在线的用户数量等,以及系统在不同用户值时的响应时间。

4、记录测试过程中的问题。在测试过程中出现的问题,以及系统出现严重错误时的系统反应和修复时间,再交给软件开发人员进行修复。

5、分析总结归档。对整个测试过程进行总结,出现的问题以及细节等都要写进文档,以便日后技术人员查询。

三、压力测试报告费用多少?

因为软件测试的具体价格是由测试功能点、工作量和项目大小来决定的,有许多不确定因素,因此行业内的软件测试报告没有统一具体的报价费用。如果您感兴趣可以咨询卓码软件测评这家独立的第三方软件测试公司,获得CMA、CNAS资质认证,多年软件测试行业经验,专业的测试配置和环境,出具公正权威具备法律效力的软件测试报告,为您的软件质量提供靠谱的保障。

本文就是小编为大家整理的Jmeter压力测试工具,软件压力测试怎么做。

国内(北京、上海、广州、深圳、成都、重庆、杭州、西安、武汉、苏州、郑州、南京、天津、长沙、东莞、宁波、佛山、合肥、青岛)睿象云智能运维平台软件分析、比较及推荐。

上一篇:告警管理后台(告警管理功能有哪些)
下一篇:智能机电池对策
相关文章

 发表评论

暂时没有评论,来抢沙发吧~