OnlineMusic项目测试报告
- 一、项目背景
- 1.1 测试目标及测试任务的概括
- 1.2 被测的系统,代码以及文档等信息
- 二、测试安排
- 2.1 测试用例设计
- 2.2 测试方案设计
- 三、测试分类
- 3.1 测试方案
- 3.1.1 功能测试
- 3.1.2 自动化测试
- 3.1.3 性能测试
- 3.2测试结果
- 性能测试报告
一、项目背景
1.1 测试目标及测试任务的概括
本次测试的目标是确保在线音乐播放器系统在功能完整性、稳定性、性能,确保其能够顺利部署并满足预期的业务需求。具体的测试任务包括以下几个方面:
- 功能测试:验证音乐播放器的各项功能是否符合需求,包括用户的登录,上传歌曲,删除歌曲,收藏歌曲,搜索音乐、播放、暂停等功能。
- 用户界面测试:评估播放器的UI是否友好,操作流程是否简便,设计是否符合用户习
- 稳定性测试:对系统进行长时间的持续使用,检测播放器是否存在崩溃、卡顿等问题。
- 接口测试:确保播放器与后端服务、数据库、第三方API接口的交互正确性。
- 安全性测试:检测系统的安全性,防止可能的漏洞攻击,如数据泄露、权限问题等。
1.2 被测的系统,代码以及文档等信息
- 系统名称:OnlineMusic
- 项目源码:https://gitee.com/miwenwen/online-music
- 系统功能:用户的登录,上传歌曲,删除歌曲,收藏歌曲,搜索音乐、播放、暂停等功能。
- 技术栈:springboot + JDK8
数据库:Mybatis + MySQL
第三方插件:sewise-player:https://gitee.com/jackzhang1204/sewise-player
二、测试安排
2.1 测试用例设计
2.2 测试方案设计
- 手动测试:主要对用户操作流程、界面显示、功能是否按预期运行进行手动测试。
- 自动化测试:使用测试工具(如Selenium、Junit)对核心功能进行自动化测试,提高测试效率。
- 性能测试:使用测试工具(jmeter)进行简单的性能测试
三、测试分类
3.1 测试方案
3.1.1 功能测试
对上述编写的测试用例进行测试
功能测试结果:测试用例100%通过
3.1.2 自动化测试
通过selenium和junit自动化测试工具对代码的核心功能进行自动化测试
自动化测试覆盖模块:登录,上传音乐,删除音乐,收藏音乐,重复收藏音乐,查询音乐等模块
自动化测试代码示例
https://gitee.com/miwenwen/online-music/blob/master/Test01/src/main/java/org/example/MusicPlayAutoTest/Tests.java
自动化测试结果:测试用例100%通过
3.1.3 性能测试
使用jmeter进行简单的性能测试:包括登录,列表页面,上传音乐,收藏音乐等接口进行测试
-
添加线程组
压测场景中,通常为是⼀点的逐步增加线程数,因此这里添加SteppingThreadGroup,可以逐步增加线程的负载,逐步启动线程。这里我们添加20个线程。 -
设置HTTP请求默认值
项目中涉及到的接口协议、IP、端⼝号全都⼀样,可以单独抽取出来存放在默认值中,其他接⼝就可 以省略不写协议、IP、端⼝号
-
添加login接口
-
添加list接口,对列表页进行简单测试
因为我们对列表页等页面添加了拦截器的功能,所以这里要设置cookie
-
添加update上传音乐
-
添加likeMusic收藏音乐接口
3.2测试结果
-
聚合报告
从聚合报告可以看到性能测试过程中整体的数据变化
-
ResponseTimesOverTime
likeMusic接口响应时间相对较低且稳定,大部分时间保持在1000毫秒以内。
list接口响应时间也较为稳定,但相比likeMusic稍微高一些,大部分时间在1500毫秒左右波动。
login接口响应时间与list相似,同样比较稳定,主要在1500毫秒上下浮动。
update接口响应时间变化较大,开始时较高,接近甚至超过8000毫秒,随后逐渐下降并在后面趋于稳定,大约在3000毫秒附近。
- TransactionsperSecond(TPS)
图中显示了三种类型的事务:likeMusic (success)(蓝色)、list (success)(绿色)和login (success)(红色)
每种事务的柱状图显示了每秒的事务数量。可以看到,list事务的数量相对较高,而login和likeMusic的事务数量相对较低。
- 性能趋势:
从图中可以看到,随着时间的推移,list事务的数量有波动,但总体趋势是上升的。这可能表明系统在处理list操作时,随着负载的增加,性能有所提升或者系统资源得到了更好的利用。
login和likeMusic事务的数量相对稳定,没有明显的上升或下降趋势。 - 系统稳定性:
如果事务数量的波动较大,可能表明系统在高负载下不够稳定。从图中看,list事务虽然有波动,但整体趋势向上,这可能意味着系统在逐渐适应负载。
login和likeMusic事务的稳定性较好,没有出现大的波动。 - 优化建议:
针对list事务的上升趋势,可以进一步分析其资源消耗,看是否有优化空间。
对于login和likeMusic事务,如果业务需求增加,需要考虑系统是否能够支撑更大的负载。
性能测试报告