一、测试目的
- 性能测试:通过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(汇总报告)
五、测试结果
-
性能测试结果:
Label 样本 平均值(ms) 最小值(ms) 最大值(ms) 标准偏差 异常(%) 吞吐量(req/sec) 接收(KB/sec) 发送(KB/sec) 平均字节数 登录系统密钥 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%,表示该场景下的功能存在严重问题,需要进一步排查和修复。
- 登录系统:
六、优化建议
- 性能优化:
- 针对“登录系统正常”场景,优化后台处理逻辑,减少响应时间。
- 根据场景特点,进行数据库优化和缓存机制的引入,提升系统整体性能。
- 功能优化:
- 排查“不构成三角形”场景的异常原因,修复潜在的逻辑错误。
- 增强输入参数验证,确保输入数据的合法性和正确性。