音乐服务器测试报告

项目背景

  1. 该音乐服务器系统使用的是前后端分离的方式来实现,将相关数据存储到数据库中, 且将其部署到云服务器上. 前端主要构成部分有: 登录页面, 列表页面, 喜欢页面, 添加歌曲4个页面组成. 通过结合后端实现了主要的功能: 登录, 播放音乐, 添加音乐, 收藏音乐, 删除音乐, 删除收藏音乐.
  2. 但是这个项目还存在很大的缺陷, 没有设计好用户注册的功能,只能提前在数据库中存储用户信息后经过校验登录; 没有实现注销的功能; 收藏页面没有实现批量删除功能; 用户只能通过本地来上传音乐而不能通过网络来上传; 前端没有进行分页处理,当歌曲数量很多时不利于用户使用; 没有实现MV功能;

项目功能

该项目的主要功能: 登录, 播放音乐, 添加音乐, 收藏音乐, 删除音乐, 删除收藏音乐.

  1. 登录功能: 在用户名和密码输入正确后, 会跳转到列表页面. 列表页面会有查询搜索框,喜欢, 删除等按钮,且要是在未登录的情况下访问这个页面且它的令牌也失效后会自动跳转都登录页面. 而要是在登录时用户名或者密码不正确会进行弹窗提示.
  2. 播放音乐功能: 在列表和喜欢列表页面,会有播放音乐按钮和右下角的音乐控件. 按钮可以指定播放音乐,音乐空间可以暂停音乐和继续播放音乐.
  3. 收藏音乐功能: 在列表页面点击收藏音乐按钮, 如果音乐没有被收藏,则会提示收藏成功,反之.
  4. 删除音乐功能: 在列表页面有删除音乐按钮和批量删除. 点击删除按钮即可删除单个歌曲, 批量选择点击批量删除按钮后即可删除已选择的歌曲.
  5. 删除音乐功能: 在收藏页面只有删除按钮, 点击后即可删除单个歌曲.

测试计划

功能测试

测试用例

画板

执行测试的部分操作截图

正常登录:

输入正确的用户和密码, 弹出提示框,跳转到列表页面.

播放音乐:

点击播放按钮进行了播放音乐, 点击控件进行暂停.

收藏音乐:

点击收藏音乐, 会弹出收藏成功提示框,前往喜欢列表可以发现收藏成功.

上传音乐:

点击添加歌曲,会跳转到添加歌曲页面,在本地选择文件,输入歌手名,再点击上传,就会提示上传成功.点击确定后会跳转到音乐列表.

删除单个音乐:

点击删除音乐,会弹出删除成功按钮.刷新页面.

删除多个音乐:

将需要删除的音乐选中后,点击删除选中,会弹出删除成功按钮,刷新页面.

删除收藏音乐:

在收藏页面,点击删除.


测试结论

测试结果发现, 大多数功能和预计设计时一致,但经测试发现, 删除收藏音乐后并不会第一时间刷新页面显示最新界面,需要自己手动刷新. 经过F12工具定位, 发现请求的参数正确, 个数正确,且返回的响应结果也是正确的. 就确定了是前端的问题,经过排查发现,是前端在接受到结果后没有使用location.herf来跳转页面.

自动化测试

自动化测试用例

这里以功能测试用例为依据,以登录页面和列表页面为例来进行测试.

画板

创建自动化项目,根据测试用例实现脚本

  1. 针对每个页面进行一个测试类, 在各个测试类中进行测试用例代码的编写
  2. 将公共属性方法放到一个公共类中,方便代码的复用.
  3. 使用测试套件进行运行
  4. 需要添加等待,确保页面加载正常.

登录页面:

查看页面是否可以正常打开显示

测试正常登录(多传参形式),注意回退

测试异常登录(用户名或者密码错误)

测试Enter按钮登录功能

注意顺序

清空输入内容才能下次继续输入

列表页面:

测试列表页面是否可以正常打开

测试各个功能按钮是否正常

注意执行顺序

**测试代码: **自动化测试代码

测试结果:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vscode 配置django

创建运行环境 使用pip安装Django:pip install django。 创建一个新的Django项目:django-admin startproject myproject。 打开VSCode,并在项目文件夹中打开终端。 在VSCode中安装Python扩展(如果尚未安装)。 在项…

MySQL InnoDB MVCC读写逻辑分析与调测

目标 1、构建MVCC读写场景 2、gdb调试MVCC过程,输出流程图(函数级别调用过程) 前提 准备1 打开服务端 查询mysqld进程号 线程树 打开客户端,想创建几个事务号就打开几个客户端 准备2 数据库mvcc,两个表test和stu…

Spring Boot框架在甘肃非遗文化网站设计中的运用

3 系统分析 当用户确定开发一款程序时,是需要遵循下面的顺序进行工作,概括为:系统分析–>系统设计–>系统开发–>系统测试,无论这个过程是否有变更或者迭代,都是按照这样的顺序开展工作的。系统分析就是分析系…

数据库——sql语言学习 查找语句

一、什么是sql SQL是结构化查询语言(Structured Query Language)的缩写,它是一种专门为数据库设计的操作命令集,用于管理关系数据库管理系统(RDBMS)。 二、查找相关语句 ‌‌首先,我们已经设…

【洛谷】P10417 [蓝桥杯 2023 国 A] 第 K 小的和 的题解

【洛谷】P10417 [蓝桥杯 2023 国 A] 第 K 小的和 的题解 题目传送门 题解 CSP-S1 补全程序,致敬全 A 的答案,和神奇的预言家。 写一下这篇的题解说不定能加 CSP 2024 的 RP 首先看到 k k k 这么大的一个常数,就想到了二分。然后写一个判…

Unity 设计模式 之 创建型模式 -【单例模式】【原型模式】 【建造者模式】

Unity 设计模式 之 创建型模式 -【单例模式】【原型模式】 【建造者模式】 目录 Unity 设计模式 之 创建型模式 -【单例模式】【原型模式】 【建造者模式】 一、简单介绍 二、单例模式 (Singleton Pattern) 1、什么时候使用单例模式 2、单例模式的好处 3、使用单例模式的…

sheng的学习笔记-logback

基础知识 什么是logback Logback是一个用于Java应用程序的日志框架,提供了更好的性能、可扩展性和灵活性。 与Log4j相比,Logback提供了更快的速度和更低的内存占用,这使得它成为大型企业级应用程序的理想选择。 ‌logback和slf4j的关系是…

Hadoop安装与配置

一、Hadoop安装与配置 1、解压Hadoop安装包 找到hadoop-2.6.0.tar.gz,将其复到master0节点的”/home/csu”目录内,解压hadoop [csumaster0 ~]$ tar -zxvf ~/hadoop-2.6.0.tar.gz 解压成成功后自动在csu目录下创建hadoop-2.6.0子目录,可以用cd hadoo…

WGS1984快速度确定平面坐标系UTM分带(快速套表、公式计算、软件范围判定)

之前我们介绍了坐标系3带6带快速确定带号及中央经线(快速套表、公式计算、软件范围判定)就,讲的是CGCS2000 高斯克吕格的投影坐标系。 那还有我们经常用的WGS1984的平面坐标系一般用什么投影呢? 对于全球全国的比如在线地图使用&#xff1a…

9.sklearn-K-means算法

文章目录 环境配置(必看)头文件引用K-means算法1.简介2.API3.代码工程4.运行结果5.模型评估6.小结优缺点 环境配置(必看) Anaconda-创建虚拟环境的手把手教程相关环境配置看此篇文章,本专栏深度学习相关的版本和配置&…

前端sm2国密加密时注意

如下方法: export function encrypt(str) {const sm2 require("sm-crypto").sm2;const cipherMode 1; // 1 - C1C3C2,0 - C1C2C3,默认为1//自定义密钥let publicKey "xxxxxxxx";//此处加密let a sm2.doEncrypt(str,…

django项目添加测试数据的三种方式

文章目录 自定义终端命令Faker添加模拟数据基于终端脚本来完成数据的添加编写python脚本编写shell脚本执行脚本需要权限使用shell命令来完成测试数据的添加 添加测试数据在工作中一共有三种方式: 可以根据django的manage.py指令进行[自定义终端命令]可以采用第三方…

数据集-目标检测系列-兔子检测数据集 rabbit >> DataBall

数据集-目标检测系列-兔子检测数据集 rabbit >> DataBall 数据集-目标检测系列-兔子检测数据集 rabbit 数据量:8k 想要进一步了解,请联系。 DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加…

如何在Excel中快速找出前 N 名,后 N 名

有如下销售额统计表: 找出销售额排前 10 名的产品及其销售额,和销售额排倒数 10 名以内的产品及其销售额,结果如下所示: 前 10 名: spl("E(?1).sort(ProductSales:-1).to(10)",A1:C78)后 10 名&#xff1…

当大语言模型应用到教育领域时会有什么火花出现?

当大语言模型应用到教育领域时会有什么火花出现? LLM Education会出现哪些机遇与挑战? 今天笔者分享一篇来自New York University大学的研究论文,另外一篇则是来自Michigan State University与浙江师范大学的研究论文,希望对这个话题感兴趣…

顶点缓存对象(VBO)与顶点数组对象(VAO)

我们的顶点数组在CPU端的内存里是以数组的形式存在,想要GPU去绘制三角形,那么需要将这些数据传输给GPU。那这些数据在显存端是怎么存储的呢?VBO上场了,它代表GPU上的一段存储空间对象,表现为一个unsigned int类型的变量,GPU端内存对象的一个ID编号、地址、大小。一个VBO对…

Spring:项目中的统一异常处理和自定义异常

介绍异常的处理方式。在项目中,都会进行自定义异常,并且都是需要配合统一结果返回进行使用。 1.背景引入 (1)背景介绍 为什么要处理异常?如果不处理项目中的异常信息,前端访问我们后端就是显示访问失败的…

c# 子类继承父类接口问题

在C#中,子类并不直接“继承”父类继承的接口,但子类的确会继承父类对接口的实现(如果父类实现了该接口)。这里有一些关键的概念需要澄清: 接口继承:当一个类实现了某个接口时,它必须实现接口中…

新峰商城之订单(一):确认页面开发

新峰商城订单从生成到处理结束,主要以下几个流程: (1)提交订单(商城用户发起) (2)订单入库(后台逻辑) (3)支付订单(商城…

化繁为简:中介者模式如何管理复杂对象交互

化繁为简:中介者模式如何管理复杂对象交互 中介者模式 是一种行为型设计模式,定义了一个中介者对象,来封装一组对象之间的交互。中介者模式通过将对象之间的交互行为从多个对象中抽离出来,集中封装在一个中介者对象中,…