疯狂总结疯狂速通
JMeter性能测试工具使用的一般流程
1. 需求分析
- 明确测试的目标,例如测试某个 Web 应用程序的性能,确定需要模拟的用户行为、并发量、执行时间等测试指标。
- 了解被测系统的架构和业务流程,包括服务器环境、数据库类型、接口地址等信息,以便更好地设计测试用例。
2. 安装和配置 JMeter
- 从 JMeter 官方网站(https://jmeter.apache.org/)下载适合你操作系统的版本,并按照安装向导进行安装。
- 安装完成后,根据测试需求进行相关配置,如设置语言、内存分配等。
内存分配引出的知识点:
JMeter 内存分配的方法:编辑jmeter.bat文件:在文件中找到以set HEAP开头的行
-Xms:表示 JVM 初始分配的堆内存大小。-Xmx:表示 JVM 最大可使用的堆内存大小。-XX:MaxMetaspaceSize:表示元空间的最大大小。
测试规模
- 小规模测试:若测试的并发用户数较少,请求数量不多,对内存的需求相对较低。一般可将初始堆内存和最大堆内存设置为 512MB - 1GB,元空间大小设置为 128MB - 256MB。例如,只是对一个简单的接口进行功能测试,并发数在 10 以内,可设置
-Xms512m -Xmx512m -XX:MaxMetaspaceSize=128m。 - 大规模测试:当进行高并发、大量请求的性能测试时,需要更多的内存来存储测试数据、处理请求和响应等。此时可将初始堆内存和最大堆内存设置为 2GB - 8GB 甚至更高,元空间大小设置为 256MB - 1GB。比如对一个电商系统进行双 11 模拟大促测试,并发数达到上千,可设置
-Xms4g -Xmx4g -XX:MaxMetaspaceSize=512m。
3. 创建测试计划
- 打开 JMeter,点击 “文件”->“新建” 创建一个新的测试计划。
- 在测试计划中,你可以设置全局的测试参数,如线程组的数量、测试持续时间、断言规则等。 一般默认
4. 添加线程组
- 在线程组中,你可以定义模拟用户的行为。例如,设置线程数(模拟的用户数量)、Ramp-Up 时间(线程启动的时间间隔)、循环次数等。
- 可以根据不同的测试场景创建多个线程组,以模拟不同类型的用户行为或并发情况。
5. 添加采样器
- 采样器是 JMeter 中用于发送请求的组件。根据测试的目标,选择合适的采样器,如 HTTP 请求(一般)、FTP 请求、JDBC 请求等。
- 配置采样器的参数,包括请求的 URL、方法(GET、POST 等)、请求头、请求体等信息。如果是接口测试,还需要设置接口的参数和值。
6. 添加监听器
- 监听器用于查看和分析测试结果。常用的监听器有聚合报告、图形结果、查看结果树等。
- 添加监听器后,在测试执行过程中,它们将实时显示测试的各项指标,如响应时间、吞吐量、错误率等。
7. 添加断言
- 断言用于验证服务器返回的结果是否符合预期。例如,验证响应码是否为 200、响应体中是否包含特定的字符串等。
- 通过添加断言,可以确保测试的准确性和可靠性,及时发现系统中的问题。
8. 添加配置元件
- 配置元件用于设置测试的相关配置信息,如 HTTP 请求默认值、CSV 数据文件设置等。
- 配置元件可以使测试计划更加灵活和可维护,避免在每个采样器中重复设置相同的参数。
拓展:配置元件三大件:
- HTTP 请求默认值
- HTTP Cookie 管理器
- 用户自定义变量
9. 参数化
- 如果测试中需要使用不同的参数值来发送请求,可以使用参数化技术。例如,从 CSV 文件中读取用户账号和密码进行登录测试。
- JMeter 提供了多种参数化的方式,如用户定义的变量、CSV 数据设置等,根据实际需求选择合适的方法。
10. 执行测试
- 完成测试计划的设计后,点击 “启动” 按钮开始执行测试。
- 在测试过程中,密切关注监听器显示的结果和指标,及时发现问题并进行调整。如果测试过程中出现错误,可以查看查看结果树等监听器来分析错误原因。
11. 结果分析
- 测试执行完成后,通过监听器提供的各种报表和图表对测试结果进行分析。评估系统的性能是否满足需求,如响应时间是否在可接受范围内、吞吐量是否达到预期等。
- 分析测试过程中出现的错误和异常情况,找出性能瓶颈和潜在的问题,为优化系统提供依据。
12. 报告生成
- 根据测试结果,生成详细的测试报告。报告应包括测试目的、测试环境、测试用例、测试结果、性能分析和建议等内容。
- 测试报告可以使用 JMeter 自带的报告生成功能,也可以使用第三方工具进行生成,以便更好地向相关人员展示测试结果。
例子
- 打开 JMeter。
http请求默认值里设置协议是http还是https。其他的用默认的就可以。http取样器里复制http的请求方法get还是post,请求路径url,直接加默认url后面多的部分就可以,改测试用例的名称,把参数复制进去。(一般情况下有的用例需要用到返回的token值,比如登录,然后点击结果树里设置成json path tester,一般把里面设置成$..token就行,然后点击test里看看能不能找到token,能找到就可以复制正则表达式到:右键点击登录请求的采样器,选择 “添加” -> “后置处理器” ->json提取器。然后一般是添加一个默认的请求头信息,然后把token写进去(后置处理器里写好的名字)这样token就配置好了。csv文件的测试:前面http取样器一样。设置好csv文件的key值比如passwordusername。新建一个csv数据文件设置,这里可以把csv文件导入进来以及配置key。根据csv文件里的数量改线程数。这样执行就可以。
- 最后设置一个断言比如里面添加一个“登录成功”就可以。
小问题
如果多个人协同做一个项目,我只负责一个模块,怎么弄?
启用测试模块,保存为测试片段,然后发给组长
Jmeter怎么和数据库连用?
- 把下载好的
.jar文件复制到 JMeter 安装目录下的lib文件夹中 - 右键点击线程组,选择 “添加” -> “配置元件” -> “JDBC Connection Configuration”。
- 配置以下参数:
Variable Name for created pool:为数据库连接池指定一个名称,后续的 JDBC 请求采样器会使用这个名称来引用该连接池。例如,设置为mysql_pool。Database URL:数据库的连接地址,格式为jdbc:mysql://主机名:端口号/数据库名。例如,jdbc:mysql://localhost:3306/testdb。JDBC Driver class:JDBC 驱动类名,对于 MySQL 数据库,填写com.mysql.cj.jdbc.Driver(如果是较旧版本的 MySQL,可能是com.mysql.jdbc.Driver)。Username:数据库用户名。Password:数据库密码。
- 添加 JDBC 请求采样器,在里面写 sql 语言
- 添加 BeanShell 断言:右键点击 JDBC 请求采样器,选择 “添加” -> “断言” -> “BeanShell 断言”。
- 编写 BeanShell 脚本
- “添加” -> “监听器” -> “查看结果树”,这样就能查看测试结果和断言的执行情况。
12万+

被折叠的 条评论
为什么被折叠?



