在线音乐播放器测试报告

news2024/10/6 22:23:40

文章目录

    • 一、项目背景
    • 二、项目功能
    • 三、测试目的
    • 四、测试环境
    • 五、测试计划
      • 5.1 功能测试
      • 5.2 自动化测试
    • 六、测试结果

一、项目背景

今天,市面上的音乐播放器种类繁多同时功能强大。一个单纯的音乐播放器可能不再单纯只是音乐播放的功能,而是更多地集短视频、直播、小游戏、甚至交友为一体。同时,对于用户喜欢的歌曲和已下载的歌曲,还会不可避免地出现“失效”的问题。不同音乐的版权可能也是散落在各个不同的音乐软件。因此,为了用户能够拥有一个最初单纯简洁的听歌环境,同时方便管理自己喜欢的歌曲,当然也为了可以进一步加深对springboot框架的使用和理解,尝试搭建了一个在线音乐播放器。为用户提供简洁方便的听歌环境。

二、项目功能

用户成功登录该网站后,可以上传任意自己下载好的音乐文件;可以针对自己上传的音乐文件进行管理,包括删除,添加到喜欢列表,在线播放自己上传的音乐文件等基本功能。

三、测试目的

尽可能地发现程序中存在的问题,保证该项目网站的基本功能正常使用,满足用户的基本需求,提供良好的用户体验。

四、测试环境

  • Web端
    谷歌浏览器,Windows操作系统,edge浏览器;

  • 移动端
    安卓系统;

五、测试计划

首先编写相关的测试用例:
在这里插入图片描述
根据测试用例进行相关测试;

5.1 功能测试

针对程序实现的功能进行测试,确保程序功能满足需求并正常运行;
在这里插入图片描述

执行测试的操作步骤、测试结果;

1.在地址栏输入对应的网站,回车;
2.在登录页面输入用户名和密码点击登录;

  • 正常登录-用户名密码均正确

在这里插入图片描述
在这里插入图片描述
预期结果:1.登录成功,有相关的弹窗提示;2.点击确定,跳转到音乐列表页;
实际结果:1.登录成功,有相关的弹窗提示;2.点击确定,跳转到音乐列表页;

  • 异常登录-用户名或密码为空
    在这里插入图片描述

预期结果:1.无法登录成功;2.有相关的弹窗提示;3.点击确定按钮页面保持在登录页面;
实际结果:1.无法登录成功;2.有相关的弹窗提示;3.点击确定按钮页面保持在登录页面;

  • 异常登录-用户名密码错误

在这里插入图片描述
预期结果:1.登录失败;2.有相关的弹窗提示;3.点击确定保持在登录页面;
实际结果:1.登录失败;2.有相关的弹窗提示;3.点击确定保持在登录页面;

  • 添加歌曲
    操作步骤:1.点击"添加歌曲"按钮;
    2.音乐上传页面点击“选择文件”;
    3.选中对应的音乐文件,点击“打开”;
    4.输入歌手名,点击“上传”;

预期结果:1.跳转到音乐上传页面;
2、本地文件资源管理器弹出;
3.文件在上传页面显示;
4.跳转到音乐列表页,上传的文件显示在此处;

实际结果:与预期结果一致;

在这里插入图片描述

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

  • 上传音乐-文件或歌手名为空
    预期结果:1.无法成功上传;2.有相关的文字提示;
    实际结果:1.无法成功上传;2.有相关的文字提示;
    在这里插入图片描述

  • 上传文件-批量上传
    预期结果:批量上传成功;
    实际结果:不能进行批量上传,后添加的文件会覆盖之前的文件;

  • 上传文件-上传非音乐文件的其他文件;
    预期结果:上传失败;
    实际结果:上传成功;
    在这里插入图片描述

  • 上传文件-上传音乐列表中已经存在的文件
    预期结果:上传失败;
    实际结果:上传成功;
    在这里插入图片描述

  • 添加到喜欢-选中一首音乐
    操作步骤:
    1.在音乐列表页选中歌曲,点击“喜欢”按钮;
    2.切换到喜欢列表页;

预期结果:
1.可以正常点击;
2.音乐列表页有刚刚添加喜欢的歌曲;

实际结果:
1.可以正常点击;
2.音乐列表页有刚刚添加喜欢的歌曲;
在这里插入图片描述

  • 添加到喜欢-选中多首音乐
    操作步骤:
    1.选择2-3首音乐,点击任意一条的喜欢按钮;
    2.切换到喜欢列表页;
    预期结果:
    1.可以选中多首音乐 ,喜欢按钮可以点击;
    2.喜欢列表页只有点击了喜欢按钮的对应音乐;
    实际结果:
    1.可以选中多首音乐 ,喜欢按钮可以点击;
    2.喜欢列表页只有点击了喜欢按钮的对应音乐;
    在这里插入图片描述
    在这里插入图片描述

  • 添加到喜欢-重复添加到喜欢
    操作步骤:
    1.选中一首已经在喜欢列表页的歌曲,点击对应的喜欢按钮;
    2.观察页面现象;

预期结果:
1.点击正常;
2.弹窗提示“收藏失败”;

实际结果:
1.点击正常;
2.对应弹窗弹出;
在这里插入图片描述

  • 删除音乐-单首删除

操作步骤:
1.在音乐列表页选中一首歌曲,点击删除;
2.查看页面现象;

预期结果:
1.可以正常点击;
2.弹窗提示删除成功;

实际结果:
1.可以正常点击;
2.弹窗提示删除成功;
在这里插入图片描述

  • 删除音乐-批量删除

操作步骤:1.选中多首歌曲,点击列表上方的“删除选中”;
预期结果:1.删除成功;
实际结果:删除成功;
在这里插入图片描述

删除音乐-删除喜欢列表的音乐;

操作步骤:
1.点击进入“喜欢列表”页;
2.选择一首歌曲,点击“移除”;

预期结果:移除成功,有弹窗提示;
实际结果:移除成功,有弹窗提示;在这里插入图片描述

  • 播放音乐-音乐列表页的音乐播放

操作步骤:在音乐列表页选择一首 歌曲,点击“播放歌曲”
预期结果:当前页面右下角出现音乐播放的相关进度条、按钮等;
实际结果:当前页面右下角出现音乐播放的相关进度条、按钮等;
在这里插入图片描述

  • 播放按钮-播放喜欢列表的歌曲

操作步骤:在喜欢列表页,点击对应歌曲的播放按钮;
预期结果:歌曲开始播放,有暂停按钮和进度条、音量等显示;
实际结果:歌曲开始播放,有暂停按钮和进度条、音量等显示;
在这里插入图片描述

  • 回到首页

操作步骤:在喜欢列表页,点击“回到首页”;
预期结果:页面跳转到音乐列表页;
实际结果:页面跳转到音乐列表页;

5.2 自动化测试

对程序编写自动化测试用例,编写自动化测试脚本,使用selenium进行Web自动化测试;

  • 登录页面
package com.autotest0828;

import org.junit.jupiter.api.Test;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 晨曦
 * Date: 2023-08-28
 * Time: 22:16
 */
public class loginTest {
    @Test
    public void autoTest() throws InterruptedException {
        //1.创建驱动,用来打开浏览器
        EdgeOptions edgeOptions=new EdgeOptions();
        edgeOptions.addArguments("--remote-allow-origins=*");
        EdgeDriver driver = new EdgeDriver(edgeOptions);
        //2.输入需要访问的网址:
        driver.get("http://127.0.0.1:8080/login.html");
        Thread.sleep(3000);
        //3.找到页面的输入框,输入用户名和密码
        WebElement elementUser=driver.findElement(By.cssSelector("#user"));
        elementUser.sendKeys("lisi");
        WebElement elementPassword=driver.findElement(By.cssSelector("#password"));
        elementPassword.sendKeys("123456");
        //4.点击登录按钮
        driver.findElement(By.cssSelector("#submit")).click();
        Thread.sleep(5000);
        //5.切换对象为弹窗进行操作
        Alert alert=driver.switchTo().alert();
        alert.accept();
        driver.quit();

    }
}

在这里插入图片描述

  • 登录页面到列表页的跳转;
package com.autotest0828.Tests;

import com.autotest0828.common.AutoTestUtils;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.edge.EdgeDriver;

import java.util.Set;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 晨曦
 * Date: 2023-08-29
 * Time: 7:24
 */
public class musicTest extends AutoTestUtils {
    public static EdgeDriver driver=createDriver();
    //1.有驱动对象 2.访问页面的URL
    @BeforeAll
    static void baseControl(){

        driver.get("http://127.0.0.1:8080/login.html");
    }

    @Test
    @Order(1)
    void loginRight(){
        //3.检查用户登录的输入框是否存在
        driver.findElement(By.cssSelector("#user"));
        driver.findElement(By.cssSelector("#password"));
    }

    @Test
    @Order(2)
    void loginingNormal() throws InterruptedException {
        //4.输入正确的用户名和密码;
        driver.findElement(By.cssSelector("#user")).sendKeys("lisi");
        driver.findElement(By.cssSelector("#password")).sendKeys("123456");
        //5.点击登录按钮
        driver.findElement(By.cssSelector("#submit")).click();
        //添加强制等待页面渲染
        Thread.sleep(5000);
        //6.切换对象为弹窗进行操作
        Alert alert=driver.switchTo().alert();
        alert.accept();
        Thread.sleep(3000);
    }

    //用来释放驱动
    @Test
    @AfterAll
    static void driverQuit(){
        driver.quit();
    }
}

在这里插入图片描述

六、测试结果

程序的基本功能全部实现,不存在明显缺陷;页面展示无错别字,易用性良好,满足简单易上手的基本要求;程序功能简洁但单一,有可以继续优化的部分,性能一般,安全性良好;

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

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

相关文章

【项目设计】高并发内存池(Concurrent Memory Pool)

目录 1️⃣项目介绍 🍙项目概述 🍙知识储备 2️⃣内存池介绍 🍙池化技术 🍙内存池 🍙内存池主要解决的问题 🍥内碎片 🍥外碎片 🍙malloc 3️⃣ 定长内存池设计 4️⃣ 项…

区块链实验室(20) - FISCO控制台连接到指定的节点

在FISCO技术文档中,控制台默认采用config.toml作为配置文件,并指定了连接的节点地址和商品,如下所示。 [network] peers["127.0.0.1:20200", "127.0.0.1:20201"] # The peer list to connect在该案例中,控…

音频——I2S 标准模式(二)

I2S 基本概念飞利浦(I2S)标准模式左(MSB)对齐标准模式右(LSB)对齐标准模式DSP 模式TDM 模式 文章目录 I2S format时序图逻辑分析仪抓包 I2S format 飞利浦 (I2S) 标准模式 数据在跟随 LRCLK 传输的 BCLK 的第二个上升沿时传输 MSB,其他位一直到 LSB 按顺序传传输依…

【方案】基于安防监控视频/智能分析网关AI识别技术的防溺水监管

溺水是造成许多人死亡的主要原因之一。无论是在游泳池、河流、湖泊还是海洋中,溺水都可能导致人们失去生命。即使没有造成死亡,溺水所引发的窒息和水下活动中的创伤等伤害,有可能引起长期甚至永久性的身体损伤,对个人和家庭造成巨…

Python入门学习——Day2-控制流程

一、Python 控制流程 什么是控制流程: 在Python中,控制流程指的是根据不同的条件或规则来控制程序的执行顺序和逻辑。Python提供了多种控制流程的语句和结构,可以根据条件进行分支判断和循环迭代。 1.1 条件语句(if-elif-else&…

PY32F003F18P单片机概述

PY32F003F18P单片机是普冉的一款ARM微控制器,内核是Cortex-M0。这个单片机的特色,就是价格便宜,FLASH和SRAM远远超过8位单片机,市场竞争力很强大。 一、硬件资源: 1)、FLASH为64K字节; 2)、SRAM为8K字节&…

CAD图纸加密软件——公司核心文件数据防泄密「天锐绿盾」

PC访问地址: isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 数据安全保护系统 数据安全保护系统以全面数据文件安全策略、加解密技术与强制访问控制有机结合为设计思想,对信息媒介上的各种数据资产,实施不同安全等级…

一份优秀的接口自动化测试方案是啥样的?

1、引言 1.1 文档版本 1.2 项目情况 1.3 文档目的 本文档主要用于指导XXX-YY项目常用接口自动化测试工作的开展。本文档的主要目的在于提供项目接口自动化测试的技术方案、实施方案和计划方案等。 2、接口自动化实施目标 2.1 实施原则 XXX-YY项目采用接口自动化测试&#xff0…

云备份——实用类工具实现

一,文件实用类设计实现 不管是客户端还是服务端,文件的传输备份都涉及到文件的读写,包括数据管理信息的持久化也是如此,因此首先设计封装文件操作类,这个类封装完毕之后,则在任意模块中对文件进行操作时都将…

SpringCloudAlibaba OpenFeign整合及详解

SpringCloudAlibaba OpenFeign 在前面,我们使用Nacos服务注册发现后,服务远程调用可以使用RestTemplateRibbon或者OpenFeign调用。实际开发中很少使用RestTemplate这种方式进行调用服务,每次调用需要填写地址,还要配置各种的参数&…

Java 包装类和Arrays类(详细解释)

目录 包装类 作用介绍 包装类的特有功能 Arrays类 Arrays.fill() Arrays.toString() Arrays.sort() 升序排序 降序排序 Arrays.equals() Arrays.copyOf() Arrays.binarySearch() 包装类 作用介绍 包装类其实就是8种基本数据类型对应的引用类型。 基本数据类型引用…

R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证指数收益时间序列...

全文链接:http://tecdat.cn/?p31162 最近我们被客户要求撰写关于SV模型的研究报告,包括一些图形和统计输出(点击文末“阅读原文”获取完整代码数据)。 相关视频 本文做SV模型,选取马尔可夫蒙特卡罗法(MCMC)、正则化广…

英码科技受邀亮相2023WAIE物联网与人工智能展,荣获行业优秀创新力产品奖!

8月28日-30日,2023WAIE 物联网与人工智能展在深圳福田会展中心顺利举办。英码科技受邀亮相本届展会,并现场重点展出了面向智慧交通、智慧校园、智慧应急、智慧园区等不同行业的创新AIoT产品、AI技术服务等内容,与生态伙伴积极探讨市场需求和问…

四川玖璨电子商务有限公司:短视频账户运营

短视频账户运营,是指对短视频内容进行管理和推广的工作。随着社交媒体的兴起和短视频平台的流行,短视频账户运营已经成为了一种新兴的营销方式。对于企业、个人或组织来说,通过短视频账户运营,不仅可以提高品牌知名度,…

C. Nice Garland

题目: 样例1: 输入 3 BRB 输出 1 GRB 样例2: 输入 7 RGBGRBB 输出 3 RGBRGBR 题意: 题目是要在一个字符它的前面两个和后面两个字符不能与它本身有相同的字符。即 范围在 3 之内的字符串不能有相同的字符。 思路: …

运算放大器总结

早期的运算放大器目的是制造模拟计算机,用来计算各种数学公式。虽然现在已经被数字电路替代了,但是运算放大器在模拟电路设计中,仍然是最重要的知识。 1、运放是怎么工作的? 以电压反馈型运放(VFA)为例。由…

什么是跨域问题 ?Spring MVC 如何解决跨域问题 ?Spring Boot 如何解决跨域问题 ?

目录 1. 什么是跨域问题 ? 2. Spring MVC 如何解决跨域问题 ? 3. Spring Boot 如何解决跨域问题 ? 1. 什么是跨域问题 ? 跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。 跨域问题的 3 种情况&#x…

为了更好和大家交流,欢迎大家加我的微信账户

因为一些懂的都懂的原因,如果我的账户显示为 此时我无法通过站内信、留言或者任何方式和大家联系。 如果看到这样的内容,可以在此评论区留下你的微信账户,我看到后会添加你。为防止其他人冒充我,我的微信号以2206结尾。

OpenCV入门之基本知识

💂 个人主页:风间琉璃🤟 版权: 本文由【风间琉璃】原创、在CSDN首发、需要转载请联系博主💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 一、vscode文件配置 在vscode中需要配置如下三个文件:c_cpp_proper…

操作系统清华同步笔记:定义概述+计算机内存和硬盘布局+启动流程顺序+中断、异常和系统调用

定义概述 从用户角度来看,操作系统是一个控制软件,用以管理应用程序,为应用程序提供服务,杀死应用程序等。从内部文件角度来看,操作系统是一个资源管理器,用以管理外设,分配资源。层次结构&…