测试工具之压测工具JMeter(一)

有时候我们接到的需求是秒杀或者抽奖类的功能开发,这时候可能会在某一时间点大量请求并发,我们手工自测很难发现一些高并发场景下的问题,这时候可以借助一些压测工具帮我们模拟出大量请求来测试我们的接口是否能满足业务要求。JMeter是Apache 旗下的开源软件。

JMeter支持测试的应用/服务/协议有很多例如:Web服务 (HTTP, HTTPS )、 Webservices、Database via JDBC、FTP、LDAP、Mail - SMTP(S), POP3(S) and IMAP(S)、Native commands or shell scripts、TCP、Java Objects等等。

1.JMeter下载

访问Apache官方网站https://jmeter.apache.org/download_jmeter.cgi

点击apache-jmeter-5.5.zip即可开始下载

下载完成后解压apache-jmeter-5.5.zip

2.使用

进入bin目录点击jmeter.bat文件即可打开主jmeter界面

2.1切换中文

Options->Choose Language->Chinese(Simplified)

2.2创建测试计划

如下界面中可设置激活名称、注释等信息。一个计划中可创建多个线程组

2.2.1创建线程组

TestPlan->添加->线程(用户)->线程组

线程组可设置名称和注释,一个线程相当于一个用户请求。比如线程数填100,Ramp-up时间填1,循环次数填1,就表示在1秒内发送100次请求,执行一次。

2.2.2创建HTTP请求

在线程组上点击右键,添加->取样器->HTTP请求

Web服务器:设置请求的协议,默认是http,ip填写测试服务器地址,端口号是是测试应用的端口。

HTTP请求:选择接口支持的请求方法,路径为url的请求路径(GET请求的参数可以直接带在路径上或在下面的参数配置表格中通过点击"添加"按钮来添加请求参数)

2.2.3创建察看结果树

在HTTP请求上点击右键,添加->监听器->察看结果树

2.3.4添加聚合报告

在HTTP请求上点击右键,添加->监听器->聚合报告。

说明:

TestPlan:测试计划,相当于一个工程,

Thread Group:线程组,相当于模拟的请求数,一个线程相当于一个用户请求

察看结果树:监听发送请求时各个请求的状态

聚合报告:汇总一次测试的数据

2.3.5 开始测试

点击界面工具栏的绿色三角按钮

2.3.6查看报告

选择其中的请求可以在右边看到这个请求地址、请求时间、请求数据长度等详细信息

选择聚合报告可以查看本轮测试的数据报告

说明:

样本:请求的次数(线程数*循环次数)

平均值:响应时间的平均用时,单位是毫秒

中位数:响应时间的中位数,单位是毫秒

90%百分位:90%的响应时间小于该数值,单位是毫秒

95%百分位:含义和90%类似

99%百分位:含义和90%类似

最小值:该次测试最小响应时间,单位是毫秒

最大值:该次测试最大响应时间,单位是毫秒

异常%:该次测试出现异常的请求比例

吞吐量:等同QPS(测试的接口处理请求的能力)

接收KB/Sec:响应数据的接收速率

发送KB/Sec:请求数据的发送速率

相关推荐
卓码软件测评1 小时前
第三方软件测试机构:【“Bug预防”比“Bug发现”更有价值:如何建立缺陷根因分析与流转机制?】
功能测试·测试工具·单元测试·测试用例·压力测试·可用性测试
测试老哥5 小时前
python+requests+excel 接口测试
自动化测试·软件测试·python·测试工具·测试用例·excel·接口测试
Run Freely9376 小时前
web自动化测试_selenium_05_窗口截图、验证码处理
selenium·测试工具
天才测试猿11 小时前
Selenium三大等待详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
^毛小兔^14 小时前
Postman实现jwt发送请求
测试工具·postman
程序员小远14 小时前
Postman接口测试: Postman环境变量&全局变量设置,多接口顺序执行详解
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
天才测试猿14 小时前
Postman使用方法
自动化测试·软件测试·测试工具·职场和发展·测试用例·接口测试·postman
程序员三藏14 小时前
Postman定义公共函数
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
安冬的码畜日常14 小时前
【JUnit实战3_26】第十五章:表现层测试(下)—— Selenium 在网页测试中的用法
selenium·测试工具·junit·gui测试·junit5·表现层测试
程序员三藏1 天前
Postman持久化保存/设置断言详解
自动化测试·软件测试·python·测试工具·职场和发展·接口测试·postman