一、测试目标
性能测试:通过使用JMeter进行性能测试,模拟和评估系统在高并发条件下的响应时间、吞吐量等性能指标,以确定其稳定性和承受能力。
功能测试:在多用户同时访问的情况下,验证系统各项功能的正确性,确保其能在负载下正常工作。
二、测试工具
JMeter:主要用于性能和功能测试的工具。
三、测试方案
测试场景设计:
- 登录:模拟多个用户同时登录系统,评估系统的响应时间和正确性。
- 查询:模拟并发用户进行数据查询操作,测试查询功能的响应时间和准确性。
- 提交:模拟多用户同时提交表单,验证提交功能在高并发下的表现。
测试步骤:
- 利用JMeter测试脚本(JmeterDemo.jmx)。
- 配置线程组,设定用户数量、Ramp-Up时间以及循环次数。
- 设置HTTP请求,配置目标URL及请求参数。
- 添加监听器以记录和分析测试结果。
四、测试执行
线程组配置:
- 用户数量:100
- Ramp-Up时间:1秒
- 循环次数:1
HTTP请求配置:
- URL:http://10.6.19.225(被测系统的URL)
- 请求参数:依据功能需求设置,例如登录的用户名和密码。
监听器配置:
- 查看结果树 (View Results Tree)
- 汇总报告 (Summary Report)
五、测试结果
下面来自于结果树的数据,我将数据独立整理成表格:
性能测试结果:
场景 | 样本数 | 平均响应时间 (ms) | 最小响应时间 (ms) | 最大响应时间 (ms) | 标准偏差 (ms) | 异常率 (%) | 吞吐量 (req/sec) | 接收速率 (KB/sec) | 发送速率 (KB/sec) | 平均字节数 (B) |
---|---|---|---|---|---|---|---|---|---|---|
登录系统密钥 | 100 | 3227 | 959 | 4273 | 591.85 | 0.00% | 23.3 | 11.97 | 5.07 | 527.0 |
登录系统账号 | 100 | 683 | 69 | 1756 | 420.46 | 0.00% | 23.0 | 11.83 | 5.01 | 527.0 |
登录系统正常 | 100 | 4068 | 1614 | 6009 | 778.14 | 0.00% | 12.6 | 8.70 | 2.71 | 706.0 |
一般三角形 | 100 | 68 | 11 | 502 | 83.35 | 0.00% | 22.9 | 13.17 | 9.44 | 589.0 |
直角三角形 | 100 | 88 | 5 | 493 | 116.53 | 0.00% | 23.2 | 13.03 | 9.57 | 575.0 |
等边三角形 | 100 | 63 | 6 | 504 | 89.71 | 0.00% | 23.4 | 13.47 | 9.65 | 589.0 |
等腰三角形 | 100 | 77 | 4 | 480 | 100.06 | 0.00% | 23.7 | 13.58 | 9.75 | 588.0 |
不构成三角形 | 100 | 66 | 4 | 433 | 81.58 | 100.00% | 24.1 | 13.57 | 9.93 | 577.0 |
边长超范围 | 100 | 44 | 3 | 468 | 65.51 | 0.00% | 25.6 | 13.45 | 10.70 | 538.0 |
总体 | 900 | 931 | 3 | 6009 | 1521.38 | 11.11% | 95.0 | 53.79 | 33.04 | 579.6 |
响应时间:
- 平均响应时间在不同场景中差异较大,范围从44ms到4068ms。
- 最大响应时间出现在“登录系统正常”场景,为6009ms。
吞吐量:
- 吞吐量最高的场景是“边长超范围”,达25.6次请求/秒。
- 吞吐量最低的场景是“登录系统正常”,仅为12.6次请求/秒。
异常率:
- 除“登录系统正常”和“登录系统密钥”外,其余场景无异常发生。
- “不构成三角形”场景异常率为100%,需重点分析原因。
功能测试结果:
登录系统:
- 登录系统密钥、登录系统账号和登录系统正常场景的成功率均为100%,表明这些场景下功能正常。
- 但“登录系统正常”场景响应时间较长,需进行优化。
三角形类型判断:
- 一般三角形、直角三角形、等边三角形、等腰三角形、边长超范围场景的成功率均为100%,表明功能正常。
- “不构成三角形”场景异常率为100%,显示该场景下的功能存在严重问题,需要进一步排查和修复。