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

行业门户网站源码邵阳建设网站公司

行业门户网站源码,邵阳建设网站公司,一个简单的app多少钱,html5手机网站开发实例文章目录 项目背景项目功能测试计划与设计功能测试自动化测试 测试结果功能测试结果UI自动化测试结果 项目背景 现如今人们的生活压力大,容易使人疲惫,为了使得人们在闲暇之余可以听音乐放松,为此设计出一款轻量的听音乐网站,快速…

文章目录

  • 项目背景
  • 项目功能
  • 测试计划与设计
    • 功能测试
    • 自动化测试
  • 测试结果
    • 功能测试结果
    • UI自动化测试结果

项目背景

现如今人们的生活压力大,容易使人疲惫,为了使得人们在闲暇之余可以听音乐放松,为此设计出一款轻量的听音乐网站,快速方便的使得用户随时随地听音乐放松

除此外,通过此次项目的经历,可使得我对文件传输的操作更加输入,还对前后端分离项目的设计思想包括数据库设计,接口的设计等更加深入理解

项目功能

  • 注册:用户首次登录可申请注册一个个人账号
  • 登录:用户使用注册好的账号进行登录
  • 上传音乐:用户可以自由的上传音乐打造属于自己的音乐空间
  • 音乐文件检验:系统会自动地对用户上传地音乐文件进行校验,非mp3文件和篡改地文件不可上传
  • 听音乐:用户可以随时随地的点击音乐进行播放
  • 查询音乐:用户可以使用音乐的名称进行搜索,方便快捷的使用户听想听的音乐
  • 删除单个音乐:用户可以对不喜欢的音乐进行删除
  • 批量删除:用户可以批量选择不喜欢的音乐,然后对选中的音乐进行批量删除
  • 收藏音乐:用户可对自己非常喜欢地音乐进行收藏,方便用户对喜欢地音乐进行管理
  • 查询收藏音乐:用户可以随时随地查询自己收藏地音乐
  • 取消收藏:用户可对已收藏地音乐进行取消

测试计划与设计

本次测试的环境为:Windows操作系统Win11,Chrome浏览器

在这里插入图片描述

功能测试

测试步骤:

  1. 分析需求,提取测试点
  2. 针对测试点设计测试用例
  3. 根据测试用例手工执行测试
  4. 针对测试结果输出报告

测试用例

这里针对项目的界面功能安全性能兼容性易用性设计测试用例

此处只粘贴部分用例,完整的用例可访问Gitee链接查看

链接: 音悦台测试用例

在这里插入图片描述

测试步骤

这里记录几个核心功能的测试步骤:

  • 上传音乐
  • 播放音乐
  • 收藏音乐

上传音乐的测试步骤:

  1. 先正确登录

在这里插入图片描述

  1. 点击上传音乐
    在这里插入图片描述

  2. 选择文件,输入歌手信息,点击上传

在这里插入图片描述

  1. 在主页面查看音乐已上传成功

在这里插入图片描述

播放音乐的测试步骤:

  1. 先进入音乐列表主界面
    在这里插入图片描述
  2. 点击刚才上传的音乐进行播放
    在这里插入图片描述
  3. 与本地音乐文件对比,查看音乐文件是否上传完整,播放是否有卡顿

收藏音乐的测试步骤:

  1. 点击某个音乐的收藏按钮

在这里插入图片描述

  1. 观察有弹窗提示收藏成功

在这里插入图片描述

  1. 进入收藏列表,观察是否上传成功

在这里插入图片描述

  1. 播放上传的音乐,看是否可成功播放

在这里插入图片描述

自动化测试

自动化测试的优点:

自动化测试可代替一部分手工测试,提高测试的执行效率,并且随着项目版本的迭代,回归测试的压力越来越大,借助自动化测试提高回归测试的效率

注意: 自动化测试只能代替一部分手工测试,不能完全替代手工测试

自动化测试的步骤:

  1. 分析项目的核心功能
  2. 针对核心功能设计自动化测试的用例
  3. 针对测试用例编写自动化脚本
  4. 执行脚本
  5. 记录测试结果

设计自动化测试用例

此处针对三个模块设计用例,三个模块分别是:

  • 用户模块:含登录,注册,注销
  • 音乐列表模块:含上传音乐,删除,查询音乐
  • 收藏音乐模块:含收藏,查询,取消收藏

此处只粘贴部分UI自动化测试用例,可访问Gitee链接查看全部用例

链接: 音悦台UI自动化测试用例

在这里插入图片描述

编写自动化测试脚本

此处只粘贴部分脚本,全部脚本可访问Gitee链接

链接: 音悦台UI自动化测试脚本

//音乐列表的元素@Order(1)@Testvoid elementTest() throws InterruptedException {driver.get("http://47.108.53.70:8081/login.html");driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));driver.findElement(By.cssSelector("#user")).sendKeys("admin");driver.findElement(By.cssSelector("#password")).sendKeys("12345");driver.findElement(By.cssSelector("#submit")).click();Thread.sleep(2000);Alert alert = driver.switchTo().alert();alert.accept();String url = "http://47.108.53.70:8081/musicList.html";String curUrl = driver.getCurrentUrl();Assertions.assertEquals(url,curUrl);String title = "音乐列表";String curTitle = driver.getTitle();Assertions.assertEquals(title,curTitle);}//上传音乐成功@Order(2)@ParameterizedTest@CsvSource(value = {"'D:/音乐/下载/盗将行.mp3',花粥","'D:/音乐/下载/世间美好与你环环相扣.mp3',网络歌手"})void uploadSuccess(String filePath,String singer) throws InterruptedException {driver.get("http://47.108.53.70:8081/login.html");driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));driver.findElement(By.cssSelector("#user")).sendKeys("admin");driver.findElement(By.cssSelector("#password")).sendKeys("12345");driver.findElement(By.cssSelector("#submit")).click();Thread.sleep(2000);Alert alert = driver.switchTo().alert();alert.accept();driver.findElement(By.cssSelector("#body > div.container > div:nth-child(3) > a:nth-child(2)")).click();driver.findElement(By.cssSelector("#filename")).sendKeys(filePath);driver.findElement(By.cssSelector("#singer")).sendKeys(singer);driver.findElement(By.cssSelector("#button")).click();Thread.sleep(3000);Alert alert1 = driver.switchTo().alert();Assertions.assertEquals("上传成功",alert.getText());alert1.accept();}//上传音乐失败1:音乐已经存在@Order(3)@ParameterizedTest@CsvSource(value = {"'D:/音乐/下载/盗将行.mp3',花粥","'D:/音乐/下载/世间美好与你环环相扣.mp3',网络歌手"})void uploadFail1(String filePath,String singer) throws InterruptedException {driver.get("http://47.108.53.70:8081/login.html");driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));driver.findElement(By.cssSelector("#user")).sendKeys("admin");driver.findElement(By.cssSelector("#password")).sendKeys("12345");driver.findElement(By.cssSelector("#submit")).click();Thread.sleep(2000);Alert alert = driver.switchTo().alert();alert.accept();driver.findElement(By.cssSelector("#body > div.container > div:nth-child(3) > a:nth-child(2)")).click();driver.findElement(By.cssSelector("#filename")).sendKeys(filePath);driver.findElement(By.cssSelector("#singer")).sendKeys(singer);driver.findElement(By.cssSelector("#button")).click();Thread.sleep(3000);Alert alert1 = driver.switchTo().alert();Assertions.assertEquals("音乐已存在",alert.getText());alert1.accept();}//上传音乐失败2:文件格式不对@Order(4)@ParameterizedTest@CsvSource(value = {"'D:/photo/18.jpg',网络歌手","'D:/photo/8.mp3',网络歌手"})void uploadFail2(String filePath,String singer) throws InterruptedException {driver.get("http://47.108.53.70:8081/login.html");driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));driver.findElement(By.cssSelector("#user")).sendKeys("admin");driver.findElement(By.cssSelector("#password")).sendKeys("12345");driver.findElement(By.cssSelector("#submit")).click();Thread.sleep(2000);Alert alert = driver.switchTo().alert();alert.accept();driver.findElement(By.cssSelector("#body > div.container > div:nth-child(3) > a:nth-child(2)")).click();driver.findElement(By.cssSelector("#filename")).sendKeys(filePath);driver.findElement(By.cssSelector("#singer")).sendKeys(singer);driver.findElement(By.cssSelector("#button")).click();Thread.sleep(3000);Alert alert1 = driver.switchTo().alert();Assertions.assertEquals("文件类型错误:请选择mp3文件",alert.getText());alert1.accept();}//查询音乐1:音乐存在@Order(5)@ParameterizedTest@ValueSource(strings = {"红日","广寒","一路生"})void findMusic1(String musicName) throws InterruptedException {driver.get("http://47.108.53.70:8081/login.html");driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));driver.findElement(By.cssSelector("#user")).sendKeys("admin");driver.findElement(By.cssSelector("#password")).sendKeys("12345");driver.findElement(By.cssSelector("#submit")).click();Thread.sleep(2000);Alert alert = driver.switchTo().alert();alert.accept();driver.findElement(By.cssSelector("#exampleInputName2")).sendKeys(musicName);driver.findElement(By.cssSelector("#submit1")).click();Thread.sleep(1000);WebElement element = driver.findElement(By.cssSelector("#info > tr"));Assertions.assertNotNull(element);}//查询音乐2:音乐不存在@Order(6)@ParameterizedTest@ValueSource(strings = {"爱情买卖","自由飞翔","月亮之上"})void findMusic2(String musicName) throws InterruptedException {driver.get("http://47.108.53.70:8081/login.html");driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));driver.findElement(By.cssSelector("#user")).sendKeys("admin");driver.findElement(By.cssSelector("#password")).sendKeys("12345");driver.findElement(By.cssSelector("#submit")).click();Thread.sleep(2000);Alert alert = driver.switchTo().alert();alert.accept();driver.findElement(By.cssSelector("#exampleInputName2")).sendKeys(musicName);driver.findElement(By.cssSelector("#submit1")).click();Thread.sleep(1000);try{WebElement element = driver.findElement(By.cssSelector("#info tr"));System.out.println(false);}catch (Exception e){System.out.println(true);}}//删除单个@Testvoid deleteOne() throws InterruptedException {driver.get("http://47.108.53.70:8081/login.html");driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));driver.findElement(By.cssSelector("#user")).sendKeys("admin");driver.findElement(By.cssSelector("#password")).sendKeys("12345");driver.findElement(By.cssSelector("#submit")).click();Thread.sleep(2000);Alert alert = driver.switchTo().alert();alert.accept();driver.findElement(By.xpath("//*[@id=\"info\"]/tr[1]/td[4]/button[1]")).click();Thread.sleep(500);Alert alert1 = driver.switchTo().alert();alert1.accept();Thread.sleep(500);Alert alert2 = driver.switchTo().alert();Assertions.assertEquals("删除成功",alert2.getText());alert2.accept();}//批量删除@Testvoid deleteMore() throws InterruptedException {driver.get("http://47.108.53.70:8081/login.html");driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));driver.findElement(By.cssSelector("#user")).sendKeys("admin");driver.findElement(By.cssSelector("#password")).sendKeys("12345");driver.findElement(By.cssSelector("#submit")).click();Thread.sleep(2000);Alert alert = driver.switchTo().alert();alert.accept();driver.findElement(By.xpath("//*[@id=\"23\"]")).click();driver.findElement(By.xpath("//*[@id=\"24\"]")).click();driver.findElement(By.cssSelector("#deleteAll")).click();Alert alert1 = driver.switchTo().alert();Thread.sleep(2000);alert1.accept();Thread.sleep(2000);Alert alert2 = driver.switchTo().alert();Assertions.assertEquals("删除成功",alert2.getText());alert2.accept();}
}

测试结果

功能测试结果

未通过测试如下:

  1. 登陆,注册时,输入完参数点击回车不能触发点击效果,影响用户体验
    在这里插入图片描述
  2. 上传大文件,上传失败,未提示文件过大
  3. 性能方面,当音乐文件过大,对于上传和播放,服务器响应较慢
  4. 手机端登陆,页面元素有遮挡
    在这里插入图片描述

UI自动化测试结果

总共执行了30条自动化case,通过了29条,未通过1条

部分通过执行的结果:

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

在这里插入图片描述

未通过:登录页面的元素有错别字,登录而不是登陆

在这里插入图片描述

http://www.yayakq.cn/news/422514/

相关文章:

  • 网站建设与管理案例教程第三版答案百度网站建设的意义
  • 免费网站空间可访问云南中建西部建设有限公司网站
  • 南宁建站公司有哪些中国光伏企业排行榜
  • 肇庆网站搜索排名二次开发怎么弄
  • 北京高端网站建设服务莱芜最新
  • 阜新网站建设做返利网站怎麼
  • asp 网站信箱模板五彩科技网站建设
  • 济南模板建站软件万江网站制作
  • 上海浦东建筑建设网站污水处理工程企业为什么要分析环境
  • 成都网站建设的费用网站做适配手机要多久
  • 建一个团购网站最新软件推广
  • 西安网站建设公司哪家好凡客诚品售后服务有哪些
  • 订餐网站开发深圳市建设管理中心
  • asp.net 手机网站开发wordpress 多模板
  • 巴中城乡和住房建设厅网站什么叫 营销型网站
  • 太原网站建设解决方案石家庄医疗网站建设
  • 学做卤味视频网站wordpress即时
  • 菏泽市城乡建设局网站哪个网站有免费
  • 用深度liunx做网站济南网站建设推荐企优互联不错
  • 网站推荐男生正能量快速域名网站备案
  • 哪些网站可以做引流个人网站建设开题报告
  • 用kid做教育网站域名广告做到百度第一页
  • 网站建设视频 备份 反代网站做适配手机要多久
  • 自己做的网站无法访问wordpress无法升级
  • 网站设计知识准备网站前端交互功能案例分析
  • 广州市城乡和建设局网站河北建设工程信息网查
  • 广州建网站的网络公司提供网站建设商家
  • 观澜网站制作视频短链接生成器
  • 网上书城网站建设目的长沙智能建站模板
  • 网站商城与网站区别瑞昌市环保局网站建设