网站建设新际,国家骨干高职院校建设网站,公司logo设计免费生成在线制作,无锡互联网文章目录 项目背景项目功能测试计划与设计功能测试自动化测试 测试结果功能测试结果UI自动化测试结果 项目背景
现如今人们的生活压力大#xff0c;容易使人疲惫#xff0c;为了使得人们在闲暇之余可以听音乐放松#xff0c;为此设计出一款轻量的听音乐网站#xff0c;快速… 文章目录 项目背景项目功能测试计划与设计功能测试自动化测试 测试结果功能测试结果UI自动化测试结果 项目背景
现如今人们的生活压力大容易使人疲惫为了使得人们在闲暇之余可以听音乐放松为此设计出一款轻量的听音乐网站快速方便的使得用户随时随地听音乐放松
除此外通过此次项目的经历可使得我对文件传输的操作更加输入还对前后端分离项目的设计思想包括数据库设计接口的设计等更加深入理解
项目功能
注册用户首次登录可申请注册一个个人账号登录用户使用注册好的账号进行登录上传音乐用户可以自由的上传音乐打造属于自己的音乐空间音乐文件检验系统会自动地对用户上传地音乐文件进行校验非mp3文件和篡改地文件不可上传听音乐用户可以随时随地的点击音乐进行播放查询音乐用户可以使用音乐的名称进行搜索方便快捷的使用户听想听的音乐删除单个音乐用户可以对不喜欢的音乐进行删除批量删除用户可以批量选择不喜欢的音乐然后对选中的音乐进行批量删除收藏音乐用户可对自己非常喜欢地音乐进行收藏方便用户对喜欢地音乐进行管理查询收藏音乐用户可以随时随地查询自己收藏地音乐取消收藏用户可对已收藏地音乐进行取消
测试计划与设计
本次测试的环境为Windows操作系统Win11Chrome浏览器 功能测试
测试步骤
分析需求提取测试点针对测试点设计测试用例根据测试用例手工执行测试针对测试结果输出报告 测试用例 这里针对项目的界面功能安全性能兼容性易用性设计测试用例
此处只粘贴部分用例完整的用例可访问Gitee链接查看
链接: 音悦台测试用例 测试步骤 这里记录几个核心功能的测试步骤
上传音乐播放音乐收藏音乐
上传音乐的测试步骤
先正确登录 点击上传音乐 选择文件输入歌手信息点击上传 在主页面查看音乐已上传成功 播放音乐的测试步骤
先进入音乐列表主界面 点击刚才上传的音乐进行播放 与本地音乐文件对比查看音乐文件是否上传完整播放是否有卡顿
收藏音乐的测试步骤
点击某个音乐的收藏按钮 观察有弹窗提示收藏成功 进入收藏列表观察是否上传成功 播放上传的音乐看是否可成功播放 自动化测试
自动化测试的优点 自动化测试可代替一部分手工测试提高测试的执行效率并且随着项目版本的迭代回归测试的压力越来越大借助自动化测试提高回归测试的效率 注意 自动化测试只能代替一部分手工测试不能完全替代手工测试
自动化测试的步骤
分析项目的核心功能针对核心功能设计自动化测试的用例针对测试用例编写自动化脚本执行脚本记录测试结果 设计自动化测试用例 此处针对三个模块设计用例三个模块分别是
用户模块含登录注册注销音乐列表模块含上传音乐删除查询音乐收藏音乐模块含收藏查询取消收藏
此处只粘贴部分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)ParameterizedTestCsvSource(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)ParameterizedTestCsvSource(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)ParameterizedTestCsvSource(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)ParameterizedTestValueSource(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)ParameterizedTestValueSource(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();}
}测试结果
功能测试结果
未通过测试如下
登陆注册时输入完参数点击回车不能触发点击效果影响用户体验 上传大文件上传失败未提示文件过大性能方面当音乐文件过大对于上传和播放服务器响应较慢手机端登陆页面元素有遮挡
UI自动化测试结果
总共执行了30条自动化case通过了29条未通过1条
部分通过执行的结果 未通过登录页面的元素有错别字登录而不是登陆