当前位置: 首页 > news >正文

【测试报告】SoundWave(Java+Selenium+Jmeter自动化测试)

一、项目背景

随着数字音乐内容的爆炸式增长,用户对于便捷、高效的音乐管理与播放需求日益增强。传统的本地音乐管理方式已无法满足多设备同步、在线分享与个性化推荐等现代需求。为此,我们设计并开发了一款基于Spring Boot框架的SoundWave,旨在为用户提供一个轻量级、可扩展的在线音乐管理与播放平台。

二、测试环境

硬件: Dell G15 5511
操作系统: Windows 11 家庭中文版
浏览器: Google Chrome 138.0.7204.169(正式版本) (64 位)

测试工具: 自动化测试 Selenium,性能测试 Jmeter
自动化脚本运行环境: IntelliJ IDEA 2025.1.4

三、测试分类

1、功能测试用例与非功能测试用例

功能测试、界面测试、性能测试、兼容性测试、易用性测试、安全测试、网络测试

2.测试内容

(1)登陆页面

测试用例:

测试用例编号操作账号密码预期结果
1输入正常的账号密码zhangsan123456登录成功
2输入错误的账号和密码tt333登录失败,提示错误
3输入正确的账号和错误的密码zhangsan332登录失败,提示错误
4输入错误的账号和正确的密码tt123456登录失败,提示错误
5不填写账号和密码  登录失败,提示错误
6填写账号不填写密码zhangsan 登录失败,提示错误
7不填写账号填写密码 123456登录失败,提示错误

测试结果:

①测试用例:

结果:登录成功

②测试用例:

结果:登录失败,提示错误信息

③测试用例:

结果:登录失败,提示错误信息

④测试用例:

结果:登录失败,提示错误信息

⑤测试用例:

结果:登录失败,提示错误信息

⑥测试用例:

结果:登录失败,提示错误信息

⑦测试用例:

结果:登录失败,提示错误信息

(2)注册页面

测试用例:

测试用例编号操作账号密码预期结果
1输入正常的账号密码zhangzifeng123456注册成功
2输入存在的账号zhangsan123456注册失败,提示错误
3输入正确的账号和错误的密码admin332注册失败,提示错误
4输入错误的账号和正确的密码1123456注册失败,提示错误
5不填写账号和密码  注册失败,提示错误
6填写账号不填写密码zhangsan 注册失败,提示错误
7不填写账号填写密码 123456注册失败,提示错误

①测试用例:

结果:注册成功,可登录

②测试用例:

结果:注册失败,提示错误信息

③测试用例:

结果:注册失败,提示错误信息

④测试用例:

预期结果:注册失败

实际结果:注册成功

⑤测试用例:

结果:注册失败,提示错误信息

⑥测试用例:

结果:注册失败,提示错误信息

⑦测试用例:

结果:注册失败,提示错误信息

(3)列表页面

1.删除
测试用例编号操作预期结果实际结果
1未登录返回登录login.html跳转login.html未跳转login.html,界面显示空白
2未登录删除一首歌无法删除无法删除
3未登录批量删除>=2首歌无法删除无法删除
4删除一首歌删除成功删除成功
5批量删除>=2首歌删除成功删除成功

①测试用例:

结果:未跳转,无法进行访问list.html

②测试用例:

结果:无法删除

③测试用例:

结果:无法删除

④测试用例:

结果:成功删除

⑤测试用例:

结果:删除成功

2.搜索
测试用例编号操作预期结果实际结果
1未登录返回登录login.html跳转login.html未跳转login.html,界面显示空白
2未登录进行搜索无法搜索无法搜索
3已登录进行模糊搜索歌名正常搜索正常搜索
4已登录进行搜索歌手正常搜索无法搜索

①测试用例:

结果:未跳转,无法进行访问list.html

②测试用例:

结果:无法搜索

③测试用例:

结果:搜索成功

④测试用例:

结果:无法搜索

3.收藏
测试用例编号操作预期结果实际结果
1未登录返回登录login.html跳转login.html未跳转login.html,界面显示空白
2未登录进行收藏无法收藏无法收藏
3已登录进行收藏成功收藏成功收藏

①测试用例:

结果:未跳转,无法进行访问list.html

②测试用例:

结果:无法收藏

③测试用例:

结果:收藏成功

4.播放
测试用例编号操作预期结果实际结果
1未登录返回登录login.html跳转login.html未跳转login.html,界面显示空白
2未登录进行播放音乐无法播放无法播放
3已登录进行播放音乐成功播放正常播放
4已登录拖拽音乐进度正常拖拽无法拖拽
5已登录切换音乐正常切歌无法切歌
6缩小音乐导航栏正常缩放正常缩放

①测试用例:

结果:未跳转,无法进行访问list.html

②测试用例:

结果:无法播放音乐

③测试用例:

结果:成功播放

④测试用例:

结果:只要拖拽就重新播放

⑤测试用例:

结果:无法切歌

⑥测试用例:

结果:缩小成功

(4)收藏页面

1.播放
测试用例编号操作预期结果实际结果
1未登录返回登录login.html跳转login.html未跳转login.html,界面显示空白
2进行播放音乐成功播放正常播放
3拖拽音乐进度正常拖拽无法拖拽
4切换音乐正常切歌无法切歌
5缩小音乐导航栏正常缩放正常缩放
6暂定音乐正常暂停正常暂停

①测试用例:

结果:未跳转,无法进行访问list.html

②测试用例:

结果:可以播放音乐

③测试用例:

结果:无法拖拽,只要拖拽就重头播放音乐

④测试用例:

结果:无法切换音乐

⑤测试用例:

结果:正常缩小

⑥测试用例:

结果:可以暂停

2.搜索
测试用例编号操作预期结果实际结果
1未登录返回登录login.html跳转login.html未跳转login.html,界面显示空白
2进行模糊搜索歌名正常搜索正常搜索
3进行搜索歌手正常搜索无法搜索

①测试用例:

结果:未跳转,无法进行访问list.html

②测试用例:

结果:正常搜索

③测试用例:

结果:无法搜索

3.移除收藏
测试用例编号操作预期结果实际结果
1未登录返回登录login.html跳转login.html未跳转login.html,界面显示空白
2移除收藏正常移除正常移除

①测试用例:

结果:未跳转,无法进行访问list.html

②测试用例:

结果:移除成功

4.回到首页
测试用例编号操作预期结果实际结果
1未登录返回登录login.html跳转login.html未跳转login.html,界面显示空白
2点返回首页跳转首页跳转首页

①测试用例:

结果:未跳转,无法进行访问list.html

②测试用例:

结果:跳转成功

(5)上传音乐

测试用例编号操作预期结果实际结果
1未登录返回登录login.html跳转login.html未跳转login.html,界面显示空白
2上传音乐,输入歌手名上传成功上传成功
3上传音乐,不输入歌手名上传失败上传失败
4不上传音乐,输入歌手名上传失败上传失败
5上传已有音乐,并输入歌手名上传失败上传失败

①测试用例:

结果:未跳转,无法进行访问list.html

②测试用例:

结果:上传成功

③测试用例:

结果:上传失败,提示输入歌手名

④测试用例:

结果:无法上传,无法点击上传按钮

⑤测试用例:

结果:上传失败

四、自动化测试(Java)

五、性能测试Jmeter (接口与梯度压力测试)

使用JMeter工具对论坛系统的接口进行简单的性能测试:

(1) 接口测试

1.线程组

2.HTTP请求默认值

3.HTTP Cookie管理器

4.固定定时器

5.CSV 数据文件设置

用户不同用户登录

6.登录

7.查询全部音乐

8.查询音乐

9.播放音乐

10.删除音乐

11.批量删除音乐

12.注册

13.收藏音乐

14.上传音乐

15.查询全部收藏音乐

16.查询指定收藏音乐

17.取消收藏音乐

18.查看结果树

(2)压力梯度测试

1.SoundWave Stepping Thread Group

2.可视化图

3.随之时间推移

4.吞吐量

5.响应时间

5.结论

JMeter 性能测试报告,需从 错误率、响应时间、吞吐量、负载变化 等维度展开,结合图表和统计数据定位系统瓶颈:

一、核心统计数据概览
指标数值分析重点
总请求数832-
失败请求数140(错误率 22.15%)错误率过高,需排查根源
平均响应时间1545.42 ms长尾响应明显(最大 37273 ms)
主要错误类型500 错误(129 次,81.43%)、连接超时(10 次,7.14%)服务端内部错误 + 网络 / 连接池问题
二、关键图表分析
1. 负载与响应趋势(Over Time 模块)
  • Active Threads Over Time:线程数 阶梯式上升(压力逐渐增大),模拟真实场景的负载变化。
  • Response Times Over Time:多个接口(如 “上传音乐”“上传音乐 - 0”)的 平均响应时间随负载上升而飙升,说明系统在高并发下性能退化严重。
  • Connect Time Over Time:连接时间随负载增加而延长,暗示 服务端连接池饱和或网络瓶颈
2. 吞吐量变化(Throughput 模块)
  • Hits/Codes/Transactions Per Second:随时间推移,成功请求数(200 码)持续下降,失败请求占比上升,表明系统 处理能力随负载增加而衰减
3. 响应时间分布(Response Times 模块)
  • Response Time Percentiles:高百分位(如 99th)响应时间极高(部分接口超 3000 ms),说明 大量请求经历严重延迟(长尾效应)。
  • Response Time Overview:超过 500 ms 的请求占比高,且存在错误请求,用户体验差。
4. 错误详情(Dashboard 统计)
  • 500 错误:集中在 删除音乐、获取收藏音乐、批量删除音乐 等接口,推测 服务端业务逻辑异常或数据库操作失败
  • 连接超时(Non HTTP ConnectException):提示 Connection timed out,可能是 服务端连接池已满,无法处理新连接
三、接口级性能分析
接口失败率平均响应时间典型问题
删除音乐56.36%1278.27 ms500 错误占比极高
获取收藏音乐56.76%1099.84 ms500 错误 + 连接超时
批量删除音乐40.00%131.32 ms500 错误为主
上传音乐6.25%1918.43 ms长尾响应(最大 37273 ms)
登录1.75%1157.66 ms偶尔出现超慢响应(21049 ms)
四、性能瓶颈与优化建议
1. 服务端稳定性问题
  • 500 错误排查:检查服务端日志,定位接口的业务逻辑异常(如 SQL 错误、参数校验失败)。
  • 连接池优化:调整服务端连接池大小(如 Tomcat 线程池),避免高并发下连接超时。
2. 响应时间长尾问题
  • 慢操作剖析:对响应时间长的接口(如上传播音乐)进行 代码 Profiling,排查慢 SQL、IO 阻塞或锁竞争。
  • 异步化改造:对耗时操作(如上传播)采用异步处理,避免阻塞线程。
3. 高失败率接口修复
  • 隔离测试:针对删除、收藏等接口,单独压测并检查依赖(如数据库、缓存)是否正常。
  • 重试机制:对非幂等接口增加重试策略,降低瞬时错误对业务的影响。
4. 压测策略优化
  • 拐点分析:通过调整线程组,找到系统 吞吐量拐点(如并发多少时性能骤降),明确容量上限。
  • 监控补充:压测时增加服务端监控(CPU、内存、数据库负载),辅助定位资源瓶颈。
 

综上,系统在 高并发下稳定性不足、响应延迟明显,需从 服务端错误排查、连接池优化、慢操作治理 三方面突破,结合监控和压测迭代优化。

六、测试结果评估

1、主线功能测试通过,项目可以上线

2、项目上线后观察线上数据

http://www.xdnf.cn/news/1279171.html

相关文章:

  • 2025 年国内可用 Docker 镜像加速器地址
  • 前端组件库双雄对决:Bootstrap vs Element UI 完全指南
  • Flink TableAPI 按分钟统计数据量
  • Spring AI赋能图像识别:大数据模型驱动下的智能化变革
  • SAE J2716多协议网关的硬件架构与实时协议转换机制解析
  • calamine读取xlsx文件的方法比较
  • 华为虚拟防火墙配置案例详解
  • 未来物联网大模型:物联网硬件+底层驱动+AI 自动生成和调优LUA脚本,
  • 数据备份与进程管理
  • TikTok登录时显示“访问太频繁,请稍后再试”该怎么办?
  • 【数据库】如何使用一款轻量级数据库SqlSugar进行批量更新,以及查看最终的Sql操作语句
  • 【车联网kafka】Kafka核心架构与实战经验(第三篇)
  • Python FastAPI + React + Nginx 阿里云WINDOWS ECS部署实战:从标准流程到踩坑解决全记录
  • 2025面试题——(12)
  • docker部署elasticsearch-8.11.1
  • <typeAliases>
  • 李宏毅2025《机器学习》-第十讲:AI“思想钢印”:深入解析大模型的知识编辑技术
  • k8s 命令记录
  • 揭开内容分发网络(CDN)的神秘面纱:互联网的隐形加速器
  • 【代码随想录day 17】 力扣 617.合并二叉树
  • 41.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--集成网关--网关集成Swagger
  • ZeroNews:如何构建安全(无需 V*N!)的工业物联网连接
  • 代币化股票的崛起:比特币安全吗?
  • “一车一码一池一充”:GB 17761-2024新国标下电动自行车的安全革命
  • Mac配置服务器工具Royal TSX
  • 套接字技术、视频加载技术、断点续传技术
  • AI炼丹日志-32- memvid 大模型数据库!用视频存储+语义检索实现秒级搜索
  • 《 AudioClassification-Pytorch:GitHub项目网页解读》
  • GaussDB 数据库架构师修炼(十三)安全管理(1)-账号的管理
  • OmniHuman:字节推出的AI项目,支持单张照片生成逼真全身动态视频