软件测试和质量管理——实验6:Web测试

《软件测试和质量管理》实验报告六

一、实验目的

        应用Web测试工具对Web系统进行功能和性能测试;

二、实验要求

  1. 撰写实验报告;
  2. 撰写Web系统的测试计划,测试方案;
  3. 撰写Web系统测试的测试用例;
  4. 撰写缺陷报告;
  5. 提交测试脚本。

三、实验内容

1.题目一:测试网站功能

选择一个网站,对其进行功能测试。要求首先编写测试用例,然后在mooctest平台对该网站进行测试。

2.题目二:测试网站性能

选择一个网站,对其进行性能测试。要求在mooctest平台进行负载测试。

四、测试用例的编写

1.功能测试用例设计

1)用例名称

        千千音乐功能测试

2)前置条件
  1. 在Chrome浏览器中安装Selenium IDE插件;
  2. 点击Selenium插件,在URL地址栏中输入https://music.91q.com/,打开千千音乐首页,在《Web功能测试——千千音乐》的基础上拓展录制相关操作并导出junit。
  3. 使用Chrome浏览器,在URL地址栏中输入https://music.91q.com/,进入千千音乐网页,事先注册好账号;
  4. 下载并配置chromedriver.exe,并其所在路径添加至环境变量;
  5. 下载并配置selenium-standalone.jar;
3)测试步骤
  1. 进入“https://music.91q.com/”千千音乐首页;
  2. 击右上角“登录”,弹出登录弹窗后点击“使用账号登录”;
  3. 在账号栏输入电话,密码栏输入密码,点击立即登录;
  4. 点击导航栏的“歌单”;
  5. 选择流派中的“电子”;
  6. 选择并查看第一行第二位的音乐;
  7. 点击“收藏“;
  8. 选择全部歌曲栏中的第一个歌曲;
  9. 在右上角搜索栏输入“周杰伦”,并点击“搜索”;
  10. 点击搜索结果中的“专辑”一栏;
  11. 点击专辑栏中的“广西女孩”;
  12. 点击导航栏中的“歌手”一栏;
  13. 点击导航栏分项中的“T”、“欧美”、“女”标签;
  14. 点击分类结果中的歌手“唐伯虎”;
  15. 选择并查看排序第一的歌曲“最美酒城”;
  16. 补充测试:点击并查看首页中各分项模块的“更多”;
  17. 补充测试:点击并查看导航栏中的其余项目,分别点击“歌单”、“歌手”、“VIP”、“客户端”、“音乐人入驻”;
  18. 补充测试:个人信息修改,
    1. 点击右上角头像位置;
    2. 点击“编辑资料”;
    3. 点击“上传头像”,选择图片上传;
    4. 清空昵称栏,输入“Rql”;
    5. 清空简介栏,输入“这是rql的简介”;
    6. 点击“保存”;

19. 补充测试:个人收藏查看;

20. 测试录制结束,导出为Junit;

21. 将导出的Test1Test.java内容对应放入至eclipse文件结构中,在每一个操作后添加代码行“Thread.sleep(3000);”用来休眠线程,运行测试代码后提交。

4)预期结果

完成千千音乐测试功能需求。

项目名称

千千音乐功能测试

项目编号

模块名称

Web功能测试

模块编号

用例作者

rql

参考信息

Mooctest 测试需求文档

测试类型

功能测试

测试方法

Selenium 录制脚本并测试

测试人员

阮琼露

测试日期

2023年6月9日

测试对象

千千音乐网站:https://music.91q.com/

前置条件

  1. 在Chrome浏览器中安装Selenium IDE插件;
  2. 点击Selenium插件,在URL地址栏中输入https://music.91q.com/,打开千千音乐首页,在《Web功能测试—千千音乐》的基础上拓展录制相关操作并导出junit。
  3. 使用Chrome浏览器,在URL地址栏中输入https://music.91q.com/,进入千千音乐网页,事先注册好账号;
  4. 下载并配置chromedriver.exe,并其所在路径添加至环境变量;
  5. 下载并配置selenium-standalone.jar;


用例

编号

操作

Command

输入

数据

Value

Target

预期

结果

实际

结果

测试

状态(P/F)

1

open

https://music.91q.com/

进入首页

进入首页

P

2

set window size

1280x680

调整界面大小

调整界面大小

P

3

click

css=.login-no > span:nth-child(1)

登录

登录

P

4

click

css=.login-by-password

使用账户登录

使用账户登录

P

5

click

css=.is-error .el-input__inner

点击输入账号

点击输入账号

P

6

type

账号

css=.is-success .el-input__inner

输入账号

输入账号

P

7

click

css=.el-form-item:nth-child(2)

.el-input__inner

点击输入密码

点击输入密码

P

8

type

密码

css=.el-form-item:nth-child(2)

.el-input__inner

输入密码

输入密码

P

9

click

css=.el-button

立即登录

立即登录

P

10

click

linkText=歌单

点击歌单

点击歌单

P

11

click

css=.filter-group:nth-child(2). filter-data-box > li:nth-child(4) > .item

选择电子

选择电子

P

12

click

css=.tracklist-item:nth-child(2) > .name

选择第一行第二位的音乐

选择第一行第二位的音乐

P

13

click

css=.el-button--info:nth-child(2)

收藏音乐

收藏音乐

P

14

click

linkText=准明星

选择准明星

选择准明星

P

15

click

css=.el-input__inner

点击搜索栏

点击搜索栏

P

16

type

周杰伦

css=.el-input__inner

输入"周杰伦"

输入"周杰伦"

P

17

click

css=.el-input__icon

点击搜索

点击搜索

P

18

click

id=tab-3

点击专辑

点击专辑

P

19

click

css=.list-item:nth-child(2) .name

点击广西女孩

点击广西女孩

P

20

click

linkText=歌手

点导航栏歌手

点导航栏歌手

P

21

click

css=.fl:nth-child(21) > .item

选择T标签

选择T标签

P

22

click

css=.filter-group:nth-child(2) > .fl:nth-child(4) > .item

选择欧美标签

选择欧美标签

P

23

click

css=.filter-group:nth-child(3) > .fl:nth-child(3) > .item

选择女标签

选择女标签

P

24

click

css=.el-col:nth-child(12)

.el-image__inner

点击分类结果中的唐伯虎

点击分类结果中的唐伯虎

P

26

click

linkText=醉美酒城

点击醉美酒城

点击醉美酒城

P

27

click

linkText=首页

点击首页

点击首页

P

28

click

css=.songlist-box:nth-child(3) .more

点击秀动发行的更多

点击秀动发行的更多

P

29

click

css=.list-item:nth-child(2) .name

选择第二个歌

选择第二个歌

P

30

click

linkText=首页

点击首页

点击首页

P

31

click

css=.songlist-box:nth-child(4)

.more

点击热门歌单的更多

点击热门歌单的更多

P

32

click

linkText=首页

点击首页

点击首页

P

33

click

css=.shoufa-box-inside .more

点击新歌推荐的更多

点击新歌推荐的更多

P

34

click

css=.list-item:nth-child(5) .name

选择第五首歌

选择第五首歌

P

35

click

linkText=首页

点击首页

点击首页

P

36

click

css=.artist-box-inside .more

点击热门歌手的更多

点击热门歌手的更多

P

37

click

css=.el-col:nth-child(3) .name

选第三个歌手

选第三个歌手

P

38

click

linkText=首页

点击首页

点击首页

P

39

click

css=.mv-box .more

点击精选视频的更多

点击精选视频的更多

P

40

click

linkText=首页

点击首页

点击首页

P

41

click

linkText=歌单

点导航栏歌单

点导航栏歌单

P

42

click

linkText=歌手

点导航栏歌手

点导航栏歌手

P

43

click

linkText=VIP

点导航栏VIP

点导航栏VIP

P

44

click

linkText=客户端

点击

导航栏客户端

点击

导航栏客户端

P

45

click

linkText=音乐人入驻

点击导航栏音乐人入驻

点击导航栏音乐人入驻

P

46

click

css=.el-dropdown-selfdefine .el-image__inner

点击头像

点击头像

P

47

click

linkText=编辑资料

点击编辑资料

点击编辑资料

P

48

click

css=.el-button--default > span

点击上传头像

点击上传头像

P

49

click

css=.el-form-item__content > .el-input > .el-input__inner

点击昵称栏

点击昵称栏

P

50

type

RQL

css=.el-form-item__content > .el-input > .el-input__inner

修改昵称

修改昵称

P

51

click

css=html

点击简介栏

点击简介栏

P

52

type

这是rql的简介

css=.el-textarea__inner

修改简介

修改简介

P

53

click

css=.el-button--primary > span

点击保存

点击保存

P

54

click

id=tab-2

点击我的收藏的专辑

点击我的收藏的专辑

P

55

click

id=tab-3

点击我的收藏的歌单

点击我的收藏的歌单

P

56

click

id=tab-4

点击我的收藏的视频

点击我的收藏的视频

P

5)测试代码
import org.openqa.selenium.chrome.ChromeDriver;
        import org.openqa.selenium.interactions.Actions;
        import org.openqa.selenium.WebDriver;
        import org.openqa.selenium.WebElement;
        import org.openqa.selenium.By;
        import org.openqa.selenium.Dimension;

public class Example {
    public static void test(WebDriver driver) throws InterruptedException{
        // 打开千千音乐
        driver.get("https://music.91q.com/");
        driver.manage().window().setSize(new Dimension(1296, 680));
        Thread.sleep(3000);

        // 登录
        driver.findElement(By.cssSelector(".login-no > span:nth-child(1)")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".login-by-password")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".is-error .el-input__inner")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".is-error .el-input__inner")).sendKeys("账号");
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".el-form-item:nth-child(2) .el-input__inner")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".el-form-item:nth-child(2) .el-input__inner")).sendKeys("密码");
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".el-button")).click();
        Thread.sleep(10000);

        // 点击"歌单"
        driver.findElement(By.linkText("歌单")).click();
        Thread.sleep(3000);
        // 选择"电子"
        driver.findElement(By.cssSelector(".filter-group:nth-child(2) .filter-data-box > li:nth-child(4) > .item")).click();
        Thread.sleep(3000);
        // 选择并查看第一行第二位的音乐
        driver.findElement(By.cssSelector(".tracklist-item:nth-child(2) > .name")).click();
        Thread.sleep(3000);
        // 收藏音乐
       driver.findElement(By.cssSelector(".el-button--info:nth-child(2)")).click();
        Thread.sleep(5000);
        // 选择"准明星"歌曲
        driver.findElement(By.linkText("准明星")).click();
        Thread.sleep(3000);

        // 右上角搜索周杰伦
        driver.findElement(By.cssSelector(".el-input__inner")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".el-input__inner")).sendKeys("周杰伦");
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".el-input__icon")).click();
        Thread.sleep(3000);

        // 点击并查看"专辑"
        driver.findElement(By.id("tab-3")).click();
        Thread.sleep(3000);
        // 点击专辑中的"广西女孩"
        driver.findElement(By.cssSelector(".list-item:nth-child(2) .name")).click();
        Thread.sleep(3000);

        // 点击并查看"歌手"页面
        driver.findElement(By.linkText("歌手")).click();
        Thread.sleep(3000);
        // 点击导航栏分项中的T标签
        driver.findElement(By.cssSelector(".fl:nth-child(21)")).click();
        Thread.sleep(3000);
        // 点击导航栏分项中的欧美标签
        driver.findElement(By.cssSelector(".filter-group:nth-child(2) > .fl:nth-child(4) > .item")).click();
        Thread.sleep(3000);
        // 点击导航栏分项中的女标签
        driver.findElement(By.cssSelector(".filter-group:nth-child(3) > .fl:nth-child(3) > .item")).click();
        Thread.sleep(3000);

        // 点击分类结果中的歌手"唐伯虎"
        driver.findElement(By.cssSelector(".el-col:nth-child(12) .el-image__inner")).click();
        Thread.sleep(3000);
        // 点击音乐"醉美酒城"
        driver.findElement(By.linkText("醉美酒城")).click();
        Thread.sleep(3000);

        // 点击更多和分项
        driver.findElement(By.linkText("首页")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".songlist-box:nth-child(3) .more")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".list-item:nth-child(2) .name")).click();
        Thread.sleep(3000);
        driver.findElement(By.linkText("首页")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".songlist-box:nth-child(4) .more")).click();
        Thread.sleep(3000);
        driver.findElement(By.linkText("首页")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".shoufa-box-inside .more")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".list-item:nth-child(5) .name")).click();
        Thread.sleep(3000);
        driver.findElement(By.linkText("首页")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".shoufa-box-inside .more")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".list-item:nth-child(6) .name")).click();
        Thread.sleep(3000);
        driver.findElement(By.linkText("首页")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".artist-box-inside .more")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".el-col:nth-child(3) .name")).click();
        Thread.sleep(3000);
        driver.findElement(By.linkText("首页")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".mv-box .more")).click();
        Thread.sleep(3000);

        // 其余导航栏项目
        driver.findElement(By.linkText("首页")).click();
        Thread.sleep(3000);
        driver.findElement(By.linkText("歌单")).click();
        Thread.sleep(3000);
        {
            WebElement element = driver.findElement(By.linkText("歌单"));
            Actions builder = new Actions(driver);
            builder.moveToElement(element).perform();
        }
        driver.findElement(By.linkText("歌手")).click();
        Thread.sleep(3000);
        driver.findElement(By.linkText("VIP")).click();
        Thread.sleep(3000);
        driver.findElement(By.linkText("客户端")).click();
        Thread.sleep(3000);
        driver.findElement(By.linkText("音乐人入驻")).click();
        Thread.sleep(3000);

        // 个人信息修改
        driver.findElement(By.cssSelector(".el-dropdown-selfdefine .el-image__inner")).click();
        Thread.sleep(3000);
        driver.findElement(By.linkText("编辑资料")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".el-button--default > span")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".el-form-item__content > .el-input > .el-input__inner")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".el-form-item__content > .el-input > .el-input__inner")).clear();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".el-form-item__content > .el-input > .el-input__inner")).sendKeys("RQL");
        Thread.sleep(3000);
        driver.findElement(By.cssSelector("html")).click();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".el-textarea__inner")).clear();
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".el-textarea__inner")).sendKeys("这是rql的简介");
        Thread.sleep(3000);
        driver.findElement(By.cssSelector(".el-button--primary > span")).click();
        Thread.sleep(3000);

        // 个人收藏查看
        driver.findElement(By.id("tab-2")).click();
        Thread.sleep(3000);
        driver.findElement(By.id("tab-3")).click();
        Thread.sleep(3000);
        driver.findElement(By.id("tab-4")).click();
        Thread.sleep(3000);
    }

    public static void main(String[] args) {
        WebDriver driver = new ChromeDriver();
        try { test(driver); }
        catch(Exception e) { e.printStackTrace(); }
        finally { driver.quit(); }
    }
}

2.性能测试用例设计

1)用例名称

用例名称

千千音乐性能负载测试

功能

系统支持多个用户并发登录

目的

测试多用户登录时系统的处理能力

方法

模拟多个用户在不同客户端登录,然后并发进入系统,录制登录过程

2)前置条件

        安装BadBoy,并下载配置慕测Jmeter客户端。

3)测试步骤

1、打开BadBoy,在URL栏中输入https://music.91q.com/search,访问千千音乐搜索页面;

2、录制一次搜索流程;

3、点击BadBoy的File选项导出脚本为qianqian.jmx文件;

 4、启动Jmeter,导入qianqian.jmx文件;

5、修改线程组名为“qianqianmusic”; 

6、添加事务控制器“搜索事务”,并调整位置; 

 7、给搜索页面添加定时器Synchronizing Timer,模拟50个用户组;

 8、新建一个“searchTest.csv”文件,里面填写需要搜索的内容;

 9、给线程组添加CSV数据文件设置,并设置相关参数如下图所示;

 10、在搜索界面的HTTP请求中设置发送参数,把搜索内容的csv填充到word参数中;

11、修改线程组的线程数;

 12、为使负载压力测试结果更加直观,添加聚合报告、图形结果、结果树、用表格查看结果等监视器;

13、运行。

五、测试结果的分析

1.功能测试用例

1)慕测得分

2)结果分析

功能测试需求测试文档的基础上,补充了一些额外设计的测试用例,如:用户账号密码登录、首页中各分项模块的“更多”查看、导航栏其余项目查看、个人信息修改、我的收藏查看。一定基础上完善对整个千千音乐网站测试的用例设计,经测试,所有功能正常并且测试通过。

2.性能测试用例

1)结果截图

 

2)结果分析

性能测试最终按照性能测试文档完成,线程数50~100,启动时间在5~10秒内完成,控制了事务并发,在确保所有请求都成功的情况下,完成性能测试,性能良好。

六、测试文档的撰写

1.测试计划

此次测试的目的就是检查核心模块功能是否正常,验证系统性能是否满足应用需求。这次测试的具体内容如下:

(1)功能测试

在功能测试中,重点测试的是千千音乐的使用流程。在包含测试文档要求的功能基础上,额外测试了如下功能:用户账号密码登录、收藏音乐、首页中各分项模块的“更多”查看、导航栏其余项目查看、个人信息修改、我的收藏查看。

(2)性能测试

在性能测试中,需要测试不同负载下系统的表现,并获得系统的响应能力、负载能力、吞吐量和资源利用率等性能指标。

(3)测试工具

用途

工具

生产厂商

版本

功能测试

Selenium IDE 插件

ThoughtWorks

3.17.2

Eclipse

IBM

Oxygen.3a Release (4.7.3a)

Google Chrome

Google Inc.

114.0.5735.110

性能测试

BadBoy

Badboy Software

2.2.5

Jmeter

Apache

5.5

(4)测试策略

登录模块测试策略

测试策略项

登录模块测试

测试类型

功能测试

测试技术

Eclipse自动化测试

测试通过/失败标准

浏览器上正确显示操作步骤,实现功能

特殊考虑

测试用例执行时间;提前注册用户账号密码

歌单筛选模块测试策略

测试策略项

歌单筛选模块测试

测试类型

功能测试

测试技术

Eclipse自动化测试

测试通过/失败标准

浏览器上正确显示操作步骤,实现功能

特殊考虑

测试用例执行时间;登录后收藏歌单功能

搜索模块测试策略

测试策略项

搜索模块测试

测试类型

功能测试

测试技术

Eclipse自动化测试

测试通过/失败标准

浏览器上正确显示操作步骤,实现功能

特殊考虑

测试用例执行时间

歌手标签筛选模块测试策略

测试策略项

歌手标签筛选模块测试

测试类型

功能测试

测试技术

Eclipse自动化测试

测试通过/失败标准

浏览器上正确显示操作步骤,实现功能

特殊考虑

测试用例执行时间

更多分项模块测试策略

测试策略项

更多分项模块测试

测试类型

功能测试

测试技术

Eclipse自动化测试

测试通过/失败标准

浏览器上正确显示操作步骤,实现功能

特殊考虑

测试用例执行时间

导航栏模块测试策略

测试策略项

导航栏模块测试

测试类型

功能测试

测试技术

Eclipse自动化测试

测试通过/失败标准

浏览器上正确显示操作步骤,实现功能

特殊考虑

测试用例执行时间

个人信息模块测试策略

测试策略项

个人信息模块测试

测试类型

功能测试

测试技术

Eclipse自动化测试

测试通过/失败标准

浏览器上正确显示操作步骤,实现功能

特殊考虑

测试用例执行时间;个人信息修改时需对要修改的原有信息清空;我的收藏查看

查询模块并发性能测试

测试策略项

查询模块并发性能测试

测试类型

性能测试

测试技术

JMeter 压力测试

测试通过/失败标准

网络运行稳定,所有请求有回应,所有线程均正常运行

特殊考虑

系统的响应能力、负载能力、吞吐量和资源利用率

2. 测试分析

(1)功能测试

功能测试需求测试文档的基础上,补充了一些额外设计的测试用例,如:用户账号密码登录、首页中各分项模块的“更多”查看、导航栏其余项目查看、个人信息修改、我的收藏查看。一定基础上完善对整个千千音乐网站测试的用例设计,经测试,所有功能正常并且测试通过。

(2)性能测试

性能测试的主要关注点为:时间(系统处理用户请求的响应时间)和资源(系统运行过程中系统资源的消耗情况);目的为:评估当前系统能力;要求为:每次50人,准备时长10s,运行良好。

性能测试最终按照性能测试文档完成,线程数50~100,启动时间在5~10秒内完成,控制了事务并发,在确保所有请求都成功的情况下,完成性能测试,性能良好。

七、心得与体会

本次实验旨在对Web网站进行功能测试和性能测试。它将实验4和实验5测试localhost本机挂载服务,转移到了测试公网ip上的千千音乐网站,是对前两次实验的巩固和加强。

对于功能测试,实验4只是使用Selenium进行脚本录制并进行播放测试查看是否错误,而此次功能测试则更加侧重于录制完脚本后的系统自动化Eclipse测试,故需要将其转换为代码进行测试。按照需求文档,录制脚本后导出的测试代码只能达到Mooctest的28分,因此我又自己额外设计了一些功能测试用例,如:用户账号密码登录、首页中各分项模块的“更多”查看、导航栏其余项目查看、个人信息修改、我的收藏查看,将测试分数提升到52分。后续我也思考了是否可以通过增加断言、异常等插入进行测试,如Assert、Verify等,增强测试用例的健壮性。对于性能测试,实验5仅是Jmeter进行本地测试,而此次性能测试迁移到了公网后。此处利用创建.csv文件存储搜索内容,将文件中的数据作为搜索传入的参数。

整个实验完成下来,我巩固掌握了Selenium IDE自动化功能测试工具,了解了它的测试模式和过程、录制测试脚本、执行并分析测试脚本,学会如何使用Eclipse进行自动化脚本测试。另外熟悉巩固了使用BadBoy录制Jmeter的测试脚本,使用Jmeter 修改脚本、添加事务、集结点等,进行负载测试。

百度音乐是由经典音乐播放器千千静听改名而来,百度音乐继承千千静听的优点,对榜单、歌手、分类、专题等板块进行了优化升级,除了同步更新移动客户端的智能音效增强功能外,同时还新增了MV视频、歌单频道等优质内容。软件拥有丰富的在线音乐库,集本地播放、在线播放、音效调节、格式转换、歌词显示等众多功能于一身,具有小巧精致、操作简捷、功能强大、资源占用少、运行效率高、扩展能力强,且大量正版无损音乐,为用户提供最高品质的音乐视听享受,带给你全新音乐体验,以一款不可多得的优秀音乐播放软件。 百度音乐软件特点 百度云音乐 属于你个人的、安全永久的超大音乐存储空间 百万曲库 海量丰富在线资源,百万正版曲库全面覆盖 均衡设置 超强均衡调节,给你最贴心精致的听歌享受 自由窗体 集合分离,随意摆放,给你最方便的操作体验 歌曲推荐 每周多个热门专题,精选歌曲及时推荐 格式支持 支持包括无损格式在内的多达20种音频格式 音效插件 支持多种音效提升插件,全面增强音乐效果式 个性皮肤 各种精美皮肤,多种视觉效果享受 音频转换 自由转换mp3、wma等多种音频格式 歌词工具 强大的歌词制作工具,嵌入功能帮你词曲合一 百度云音乐截图 百度音乐软件安装 对于百度音乐的安装,我们可以选择快速安装与自定义安装两种,快速安装默认的是直接装在c盘,自定义安装可以自己的喜好合理安装 百度音乐软件卸载: 对于比较难卸载的,在这里我向大家推荐新毒霸-软件管理工具,可以闪电卸载你所不需要的软件。 或者依次打开我的电脑->卸载或更改程序->卸载你所卸载的软件,您可以用 Window XP控制面板中的添加或删除程序功能,或用 Windows Vista、Windows 7中的程序和功能删除百度音乐卸载时,您可以选择"删除在本机保存的个人配置数据"。然后点击开始卸载。推荐您不勾选此项,以保留设置,供以后再安装时使用。
此次实验我将以往的实验进行了分析和总结,理清了做医院管理系统这个项目时遇到的问题,把已完成的系统所具有的功能与最初的需求分析报告进行对比,发现有的功能并没有实现,这是因为自己水平不够也没有为此请教老师,查阅资料,导致最终的系统并没有满足需求,还有对该系统的测试过程中发现错误和缺陷没有及时跟踪,有的错误由于时间原因找不到了,对于测试过程中重复出现的错误和自己不清楚的错误应该及时记录并改正,以免导致更严重的错误。经过这么多次的实验,我深深地认识到测试对于系统开发的重要性,在每次测试中都会出现很多问题,如果不及时解决甚至导致项目无法继续进行,同时测试用例的设计也尤为重要,在编写测试用例时往往会考虑不周全,所以应该给出测试大纲,以保证测试用例的设计能够清晰、完整而不是顾此失彼。测试用例的设计在测试系统功能的同时,还要检查系统对输入数据的反应,要检查合法的操作和非法的操作,检查系统对条件组合的反应等,好的测试用例让其他人能够很好地执行测试,能够快速便利所测试的功能,能发现至今没有发现的错误,由于对系统的功能不是很熟悉,自己设计的测试用例显得很单薄,并不能测试出系统存在的所有问题,对于系统性能的测试就要搭建更真实的运行环境,另外还要在不同的操作系统下进行测试时,以及采用人工测试完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阮阮的阮阮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值