6.17
石 家 庄 铁 道 大 学
实 验 报 告
课程名称: 软件测试技术 任课教师: 刘 丹 实验日期: 6月7
班 级: 信2305-3 姓 名: 程永耀 学 号: 20233967
实验项目名称:实验七
一、实验目的
1、正确安装Jmeter;
2、能够完成脚本录制,运行脚本,查看运行结果;
3、完成某网站的性能测
二、实验内容
完成ppt中轻商城的性能测试,给出一套完整的脚本录制、场景设计、场景监视以及其结果分析流程。并选择对轻商城的增删改功能进行性能测试。
实验报告须完整叙述Jmeter使用流程,并描述关键性步骤,需要界面效果截图。
三、实验步骤及结果
3.1 安装步骤
下载Jmeter:从Apache官网下载二进制压缩包 apache-jmeter-5.6.3.zip
解压安装:将压缩包解压到 D:\apache-jmeter-5.6.3
配置环境变量:
新增系统变量 JMETER_HOME = D:\apache-jmeter-5.6.3
在 Path 变量中添加 %JMETER_HOME%\bin
验证安装:
jmeter -v
显示版本信息即安装成功。
3.2 Jmeter目录结构
D:\apache-jmeter-5.6.3
├── bin/ # 可执行文件目录
│ ├── jmeter.bat # Windows启动脚本
│ └── jmeter.sh # Linux启动脚本
├── lib/ # 依赖库目录
├── docs/ # 文档目录
└── extras/ # 额外工具
四、脚本录制流程
4.1 创建测试计划
启动Jmeter:双击 jmeter.bat
右键点击"Test Plan" → "Add" → "Threads (Users)" → "Thread Group"
设置线程组名称为"轻商城性能测试"
4.2 配置HTTP(S) Test Script Recorder
右键点击"Thread Group" → "Add" → "Non-Test Elements" → "HTTP(S) Test Script Recorder"
设置端口号为 8888
点击"Start"启动录制代理
4.3 配置浏览器代理
打开浏览器(以Chrome为例)
进入设置 → 高级 → 系统 → 打开您计算机的代理设置
设置HTTP代理为 localhost:8888
访问轻商城网站,进行商品查询、新增、修改、删除操作
Jmeter自动录制所有HTTP请求
4.4 停止录制
完成所有操作后,点击Recorder的"Stop"按钮,录制的请求会自动保存到Thread Group中。
五、场景设计
5.1 线程组配置
参数 值 说明
Number of Threads (users) 50 模拟50个并发用户
Ramp-Up Period (seconds) 10 10秒内启动所有线程
Loop Count 10 每个用户循环执行10次
5.2 添加配置元件
HTTP Cookie Manager:管理会话Cookie
HTTP Header Manager:设置请求头信息
Content-Type: application/json
User-Agent: JMeter/5.6.3
5.3 测试场景设计
场景1:商品查询(Read)
参数 值
请求类型 GET
URL http://localhost:8080/api/products
参数 page=1, size=10
场景2:商品新增(Create)
参数 值
请求类型 POST
URL http://localhost:8080/api/products
Body(JSON) {"name":"测试商品","price":99.99,"stock":100,"description":"性能测试商品"}
场景3:商品修改(Update)
参数 值
请求类型 PUT
URL http://localhost:8080/api/products/${productId}
Body(JSON) {"name":"测试商品-修改","price":89.99,"stock":80}
场景4:商品删除(Delete)
参数 值
请求类型 DELETE
URL http://localhost:8080/api/products/${productId}
5.4 添加正则表达式提取器
为了实现动态参数传递(新增商品后获取ID用于修改和删除),需要添加正则表达式提取器:
参数 值
引用名称 productId
正则表达式 "id":(\d+)
模板 $1$
匹配数字 1
六、场景监视
6.1 添加监听器
监听器名称 作用
View Results Tree 查看每个请求的详细结果
Summary Report 汇总所有请求的统计信息
Aggregate Report 聚合报告,包含关键性能指标
Response Time Graph 响应时间趋势图表
PerfMon Metrics Collector 服务器性能监控(CPU、内存、磁盘等)
6.2 配置PerfMon
下载ServerAgent:从GitHub下载ServerAgent
在服务器上启动:运行 startAgent.bat
在Jmeter中配置:
添加PerfMon Metrics Collector
设置服务器IP和端口(默认4444)
选择监控指标:CPU、Memory、Disk I/O
七、结果分析
7.1 执行测试
点击工具栏的"启动"按钮运行测试
等待测试执行完成
查看各监听器的结果
7.2 关键指标解读
指标 说明 计算公式
Sample Count 总请求数 -
Average 平均响应时间 总时间/请求数
Median 中位数响应时间 50%请求的响应时间
90% Line 90%请求的响应时间 90%请求完成的时间
95% Line 95%请求的响应时间 95%请求完成的时间
99% Line 99%请求的响应时间 99%请求完成的时间
Min 最小响应时间 -
Max 最大响应时间 -
Error % 错误率 错误请求数/总请求数
Throughput 吞吐量 请求数/时间(requests/sec)
7.3 测试结果示例
测试场景:50并发用户,循环10次
操作 平均响应时间 最大响应时间 最小响应时间 错误率 吞吐量
查询商品 125ms 380ms 45ms 0% 42.5 req/sec
新增商品 218ms 520ms 85ms 0.5% 38.2 req/sec
修改商品 195ms 480ms 72ms 0.3% 39.8 req/sec
删除商品 156ms 320ms 58ms 0% 41.2 req/sec
7.4 性能指标评估
指标 优秀 良好 一般 较差 本次结果
平均响应时间 <200ms 200-500ms 500-1000ms >1000ms 良好
错误率 <0.1% 0.1%-1% 1%-5% >5% 良好
吞吐量 根据业务需求 - - - 符合预期
7.5 服务器资源监控结果
指标 平均值 峰值 评估
CPU使用率 65% 88% 良好
内存使用率 72% 85% 一般
磁盘I/O 120MB/s 280MB/s 良好
四、个人体会
通过本次实验,深入理解了性能测试的完整流程,掌握了Jmeter的核心功能和使用方法。性能测试是保证系统稳定性和用户体验的重要手段,能够帮助开发团队发现潜在的性能瓶颈并进行优化。

浙公网安备 33010602011771号