音频交流项目测试(测试用例与总结)

 前言:

Xmind编写对测试用例的分析,覆盖了界面,功能测试,对非功能性测试也有所提及,例如:兼容性,易用性,安全性,性能等。之后根据思维导图进行了测试用例的设计,以及对测试的总结。

正式的测试用例应该有环境,数据,步骤,预期结果等,有很多地方我进行了简化,比如注册那里,虽然用了等价类法,但是因为项目本身没有字数和格式要求,所以如果要全部测试的话需要的等价类很多,有点水字数的感觉。

对于界面,我按照个人理解进行了分类,因为没有具体的需求,很难说有什么不符合需求的地方,大多数还是一些基本的用例分析。

功能测试还是我认为写的比较全面的,只不过有些测试的具体信息没有展开,比如登录功能的测试,从等价类,边界值等方面还是能写好多好多的。编写用例的方法还有因果图,判定表等,我个人是编写用例边测试的项目功能,因为结合实际情况的场景法也是很重要的嘛。不过展开来说有点水字数的感觉,就大概概括了一下。

不过因为是个人学习用的项目,其实对兼容性,易用性,安全性,性能这些非功能性的测试,更多的是大概说了说该测什么,没有具体的进行实际测试,原因很多。

例如兼容性,我可以测试各个浏览器,但是浏览器换版本对于学习用项目来说实在是非常麻烦而且很容易出各种各样的环境问题。系统环境也不可能换成Mac。总不能再买个苹果笔记本测试吧。所以也只是大概的列举了一下要进行测试的部分和常见的环境问题。

性能方面,在我个人手工测试的时候体感没有问题(毕竟是本地的),不过如果项目上线,我个人的云服务器可能会对性能产生很大的影响,毕竟个人买的云服务器主要是为了方便学习Linux(虚拟机问题太多),部署项目之后去浏览的话,服务器很容易撑不住,所以也是大概提了一下就没有具体的进行测试,毕竟服务器对于性能的影响很大很大。如果要进行测试的话,就是用loadrunner测一下然后生成性能测试报告(抛开理论知识之外,关于性能测试的工具,我基本掌握的就是loadrunner跑一遍了)

测试用例分析思维导图

测试用例

下面是自己对各个用例测试之后的实际情况和总结,其实本来是xmind转excel直接后面写的预期和实际的,但是转到博客这里感觉很乱,不太好用,所以新建的表格,其中很多地方有所简化。

测试环境:

操作系统:Windows 10 家庭中文版 版本号:21H2  内部版本:19044.1889

项目运行:IDEA2021.2.3,maven,jdk1.8

浏览器:Edge,Chrome

自动化脚本环境:PyCharm2021.2.3

网络:本地环回地址

                                                   音频管理项目测试用例

编号 具体内容 测试数据 步骤 预期结果 实际结果
                                                                          界面测试
1 界面是否成功显示 IDEA运行项目后,浏览器进入环回地址8080端口,127.0.0.1:8080 成功加载 成功加载
2. 布局是否按照设计要求 学习用项目,没有预期设计,默认满足需求 相同 学习用项目,默认满足预期
3. 各个界面是否可以正常切换 点击音频交流和创作中心,看看能否切换,同时对已经添加的专辑和创作中心的功能也进行测试 可以 可以
4. 各部分文字是否成功显示 IDEA运行项目后,浏览器进入环回地址8080端口,127.0.0.1:8080 成功显示 成功显示
5. 各部分文字是否在对应的位置上 学习用项目,没有预期设计,默认满足需求 显示正常 学习用项目,默认满足预期
6. 文字的大小,粗细,字体等参数是否与需求一致 学习用项目,没有预期设计,默认满足需求 学习用项目,默认满足预期
7. 图片能否完整显示

传入专辑图片

..\chalili.jpg

IDEA运行项目后,浏览器进入环回地址8080端口,127.0.0.1:8080查看背景图片是否正常,之后进入专辑界面查看专辑是否正常 背景没有问题,专辑图片有时会出现白框
8. 设计对图片的规格要求与实际是否一致 学习用项目,没有预期设计,默认满足需求 学习用项目,默认满足预期
9. 音频能否正常播放 传入音频茶理理-星愿.mp3 主界面专辑茶理理进行播放 正常播放 正常播放
10 音频的控制按钮(切歌,暂停,音量控制等)是否可以使用 传入音频茶理理-星愿.mp3 进入播放界面,使用相关按钮 可以使用 可以使用
11 界面的自适应测试:浏览器大小发生改变,界面是否可以自适应显示。 缩小放大浏览器,观察背景图和功能模块是否成比例变化并全部显示 可以自适应变化 可以自适应变化
                                                                            功能测试
1 注册账户的用户名和密码为空测试

用户名:

密码:

让用户名和密码为空,点击注册按钮 显示请输入用户名 注册成功
2. 注册账户的密码为空测试

用户名:Zzzz

密码:

输入用户名,不输入密码,点击注册按钮 显示请输入密码 注册成功
3. 注册账户的用户名为空测试

用户名:

密码:123456

输入密码,不输入用户名,点击注册按钮 显示请输入用户名 注册成功
4. 注册账户的用户名(大写字母开头)和密码测试

用户名:Zzzzz

密码:123456

输入用户名和密码,点击注册按钮 注册成功 注册成功
5. 注册账户的用户名(小写字母开头)和密码测试

用户名:zzzzz

密码:123456

输入用户名和密码,点击注册按钮 注册成功 注册成功
6. 注册账户的用户名(符号开头)和密码测试

用户名:&@*150

密码:123456

输入用户名和密码,点击注册按钮 因为事先没有要求,所以默认可行注册成功 注册成功
7. 注册账户的用户名(下划线开头)和密码测试

用户名:__e10

密码:123456

输入用户名和密码,点击注册按钮 因为事先没有要求,所以默认可行注册成功 注册成功
8. 注册账户的用户名(中文)和密码测试

用户名:你好啊

密码:

123456

输入用户名和密码,点击注册按钮 因为事先没有要求,所以默认可行注册成功 注册成功
9. 注册账户的用户名(混合版)和密码测试

用户名:我2.24%

密码:

123456

输入用户名和密码,点击注册按钮 因为事先没有要求,所以默认可行注册成功 注册成功
10 注册账户的用户名和密码长度测试(事先没有要求,所以没有设置,这里应该用边界值法的,同时要和上面的各种类型测试结合)

用户名最大长度48

密码最大长度32

输入长度上限的用户名和密码,点击注册按钮 因为事先没有要求,所以默认可行注册成功 注册成功
11 注册账户的用户名和密码长度测试,超过数据库设置长度

用户名长度>48

密码长度>32

输入长度上限的用户名和密码,点击注册按钮 因为事先没有要求,所以默认可行注册成功 注册失败
12 注册后能否重定向回创作中心页面 注册完毕后自动跳转 可以 可以
13 登录账户的用户名和密码都为空测试

用户名:

密码:

进入登录界面点击登录 登录失败,显示用户名为空 如果事先注册过全空,则登录成功,否则登录失败。
14 登录账户的用户名为空测试

用户名:

密码:123456

进入登录界面点击登录 登录失败,显示用户名为空 如果事先注册过空用户名并且密码正确,则登录成功,否则登录失败。
15 登录账户的密码为空测试

用户名:Zzzz

密码:

进入登录界面点击登录 登录失败,显示密码为空 如果事先注册过空密码并且用户名正确,则登录成功,否则登录失败。
16 输入未注册的用户名进行登录

用户名:未注册

密码:123456

输入用户名和密码后点击登录 登录失败 登陆失败
17 用错误的密码进行登录

用户名:ZZZ

密码:123465

输入用户名和密码后点击登录 登录失败 登陆失败
18 登录后是否可以回到登录前的创作中心界面

用户名:ZZZ

密码:111111

输入用户名和密码后点击登录
19 注销后能否成功退出并且回到创作中心界面

用户名:ZZZ

密码:111111

先登录,再点击注销按钮
20 选择符合要求的音频文件,上传 茶理理-星愿.mp3 进入音频上传界面,点击上传按钮,选中本地的文件,进行上传 上传成功并跳转回创作中心 上传成功并跳转回创作中心
21 点击上传后不选择文件直接确认 提示未选择文件 提示未选择文件 提示未选择文件
22 选择不符合要求的其他文件,上传 测试文件.txt 选中本地的不是音频文件的文件,进行上传 上传失败 上传失败
23 手动输入正确的文件路径,上传

C:\\Desktop\既然选择了远方\测试开发板书

手动输入音频文件路径 上传成功 上传成功
24 上传超过规定大小的文件 联盟Client.exe 选中大于规定的文件进行上传 上传失败 上传失败
25 录制音频文件并上传 麦克风,录制声音 进入录制上传界面,点击授权麦克风,之后进行录制,结束后进行上传 上传成功并在列表可以看到 上传成功并在列表可以看到
26 列表是否可以看到全部上传的文件

茶理理-星愿.mp3

茶理理-光.mp3

上传多个文件后观察列表 全部可见 全部可见
27 新建专辑并且名字为空 专辑名: 点击新建专辑之后点击创建 创建失败 创建成功
28 新建专辑并且名字以大写字母开头 专辑名:Z茶理理 点击新建专辑之后输入专辑名点击创建 因为事先没有要求,所以默认可行 创建成功
29 新建专辑并且名字以小写字母开头 专辑名:z茶理理 点击新建专辑之后输入专辑名点击创建 因为事先没有要求,所以默认可行 创建成功
30 新建专辑并且名字以符号开头 专辑名:*%$我 点击新建专辑之后输入专辑名点击创建 因为事先没有要求,所以默认可行 创建成功
31 新建专辑并且名字以中文开头 专辑名:茶理理 点击新建专辑之后输入专辑名点击创建 因为事先没有要求,所以默认可行 创建成功
32 新建专辑并且设置图片URL

专辑名:茶理理

URL:../image/chalili.jpg

点击新建专辑后,设置专辑名为茶理理,并在图片URL处输入URL 创建成功 创建成功,但是图片在专辑界面有时候会不显示。
33 专辑列表能否正常见到创建后的专辑 创建专辑后点击专辑列表查看 全部可见 全部可见但是图片有时候会加载失败
                                                                        兼容性测试
1 IE浏览器是否可以访问该项目(包括各个功能的使用) IE浏览器 项目运行后用IE浏览器打开127.0.0.1:8080 正常访问并运行相关功能 正常访问并运行相关功能
2 Chrome浏览器是否可以访问该项目(包括各个功能的使用) Chrome浏览器 项目运行后用Chrome浏览器打开127.0.0.1:8080 正常访问并运行相关功能 正常访问并运行相关功能
3 Edge浏览器是否可以访问该项目(包括各个功能的使用) Edge浏览器 项目运行后用Edge浏览器打开127.0.0.1:8080 正常访问并运行相关功能 正常访问并运行相关功能
4 火狐,360,搜狗,Safari等浏览器尚未测试 火狐,360,搜狗,Safari等浏览器 项目运行后用相关浏览器打开127.0.0.1:8080 正常访问并运行相关功能 未进行测试
5. 各个浏览器的不同版本测试(全部测试不现实,推荐测试主流的版本。) IE,Chrome,Edge,火狐,360,搜狗,Safari等浏览器的所有主流版本 项目运行后用相关浏览器打开127.0.0.1:8080 正常访问并运行相关功能 未进行测试
6. Mac系统访问项目 Mac笔记本电脑配置好相关环境 项目运行后打开127.0.0.1:8080 正常访问并运行相关功能 未进行测试
7. Linux系统访问项目 虚拟机或者云服务器是Linux系统并且配置好环境 项目运行后打开127.0.0.1:8080 正常访问并运行相关功能 云服务器可以进行部署,之后所有设备访问服务器网址即可
8. 不同环境下的测试 各种环境配置完毕后,使用自动化测试 各种环境配置完毕后,使用自动化测试 正常测试其相关功能 未测试
                                                                        易用性测试
1 界面是否可以清晰的显示出各个功能 项目运行后打开127.0.0.1:8080 正常访问并且可以清晰看到所有功能 正常访问并且可以清晰看到所有功能
2 页面功能按钮设计直观易用 项目运行后打开127.0.0.1:8080 页面功能按钮设计直观易用 个人觉得比较直观
3 歌曲播放是否可以快速切歌,暂停,下载,音量控制 茶理理-星愿.mp3 用已经上传好歌曲的进行测试,点开播放界面 可以快速切歌,暂停,下载,音量控制,控制进度

可以快速切歌,暂停,下载,音量控制

但是不能控制进度条

4 各个快捷键是否可以使用 以Tab,Enter为例子 进入登录界面,输入用户名后按Tab,然后输入密码按Enter 正常切换并且成功登录 正常切换并且成功登录
                                                                        安全测试
1. 上传带有病毒的文件 准备一个病毒文件(这里下载了一个易语言的文件,这类文件一般都被判定为病毒) 进入上传界面,选择准备好的文件并且进行上传 会提示携带,不允许上传 成功上传
2. 上传图片或者歌曲超过最大限制值,服务器是否会崩溃 准备很多测试图片和音频 进入上传界面,选择准备好的文件并且全部上传 服务器不崩溃,并且提示上传文件已经达到上限 很难测试,未进行测试
                                                                        性能测试
1 各个界面切换速度 在创作中心,主页面,播放界面来回切换 切换速度快速,属于人们舒适的范围 本地运行没问题,上线后未知,未进行测试
2. 上传速度

用户名:ZZZ

密码:111111

文件:茶理理-星愿.mp3

进入创作中心,进入登录界面,登录后进入上传界面,点击上传按钮 上传速度处于舒适区间 本地运行没问题,上线后未知,未进行测试
3. 注册/登录速度

用户名:ZZZZ

密码:123456

进入创作中心,点击注册功能,输入用户名和密码后点击注册按钮,进入登录界面输入用户名和密码后点击登录按钮 注册和登录的速度处于舒适区间 本地运行没问题,上线后未知,未进行测试
4. 图片和歌曲加载速度

图片是本地的chalili.jpg

歌曲是茶理理-星愿.mp3

浏览器输入127.0.0.1:8080跳转,界面背景和专辑进行加载 界面背景和专辑加载速度处于舒适区间 本地运行没问题,上线后未知,未进行测试
其他

多个用户进行操作时(高并发情况下)的各种问题  

这里的问题很多,属于性能测试方面,在此就不展开了,简单的说下流程吧

loadrunner

通过loadrunner的三个工具进行测试,并且生成线管的性能测试报告 通过测试得到包括点击率,吞吐率,吞吐量,资源利用率等等的相关数据,并且生成测试报告 未进行loadrunner性能测试

自动化测试

1.创作中心页面的跳转

预期结果:正常跳转

实际结果:正常跳转

注册界面:

​​​​​​​

 录制界面:

代码:

#首页的测试用例
driver = webdriver.Firefox()
driver.maximize_window()
driver.get("http://127.0.0.1:8080/studio/index.html")
time.sleep(3)
driver.find_element_by_xpath("/html/body/div[1]/div[1]/a[1]").click()
time.sleep(6)
driver.find_element_by_xpath("/html/body/div[1]/div[2]/a[2]").click()
time.sleep(3)
driver.find_element_by_xpath("/html/body/div[1]/div[1]/a[3]").click()
time.sleep(3)
driver.find_element_by_xpath("/html/body/div[3]/div[3]/a[1]").click()
time.sleep(3)
driver.find_element_by_xpath("/html/body/div[3]/div[3]/a[2]").click()

2.登录,注册的测试 

场景1:输入账号和密码是否可以正常登录,进行页面的跳转

预期结果:正常跳转

实际结果:正常跳转

​​​​​​​

​​​​​​​

#登录界面,输入密码
driver = webdriver.Firefox()
driver.maximize_window()
driver.get("http://127.0.0.1:8080/studio/user/login.html")
time.sleep(3)
#输入账户名
driver.find_element_by_xpath("/html/body/div[2]/form/input[1]").send_keys("ZZZ")
time.sleep(3)
#输入密码
driver.find_element_by_xpath("/html/body/div[2]/form/input[2]").send_keys("111111")
time.sleep(3)
driver.find_element_by_id("submit").click()
time.sleep(6)

场景2:输入不匹配的用户名和密码

预期结果:不跳转

实际结果:不跳转

 

 

driver = webdriver.Firefox()
driver.maximize_window()
driver.get("http://127.0.0.1:8080/studio/user/login.html")
time.sleep(3)
#输入账户名
driver.find_element_by_xpath("/html/body/div[2]/form/input[1]").send_keys("ZZZ")
time.sleep(3)
#输入密码
driver.find_element_by_xpath("/html/body/div[2]/form/input[2]").send_keys("123456")
time.sleep(3)
driver.find_element_by_id("submit").click()
time.sleep(6)

3.上传功能的测试

场景一:正常上传音频文件

预期结果:正常上传

实际结果:正常上传

音频交流项目测试(测试用例与总结)_第1张图片 

 场景二:上传不是音频文件,例:pom.xml

 预期结果:上传失败

 实际结果:上传失败

音频交流项目测试(测试用例与总结)_第2张图片 

 

#文件上传
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://127.0.0.1:8080/studio/user/login.html")
time.sleep(3)
#输入账户名
driver.find_element_by_xpath("/html/body/div[2]/form/input[1]").send_keys("ZZZ")
time.sleep(3)
#输入密码
driver.find_element_by_xpath("/html/body/div[2]/form/input[2]").send_keys("111111")
driver.find_element_by_id("submit").click()
 
driver.find_element_by_xpath("/html/body/div[1]/div[2]/a[1]").click()
time.sleep(3)
driver.find_element_by_name("title").send_keys("stay")
time.sleep(3)
#file_path="file:///"+os.path.abspath('C:\Users\ZZZZERO\Desktop\既然选择了远方\Java项目\AudioCom\茶理理 - 光.mp3')
# driver.get(file_path)
driver.find_element_by_name("track").send_keys('C:\Users\ZZZZERO\Desktop\既然选择了远方\Java项目\AudioCom\茶理理 - 光.mp3')

time.sleep(10)
driver.find_element_by_tag_name("button").click()
time.sleep(10)
driver.quit()

测试报告 

引言:个人学习用项目,锻炼自己写测试用例和测试报告的能力。所以项目背景和需求分析就没什么好说的了。

测试用例的很多地方可以写更详细的,但是由于这个项目自身没有什么需求(比如没有要求用户名和密码上限,本身也没要求能不能符号,还有专辑名字,音频名字也同理),还有就是对易用性性能,安全之类的也没什么要求,所以很多地方展开写有点没必要了,算是比较简化的测试用例吧,不过功能方面的分析我认为还是比较全面的

测试环境:

操作系统:Windows 10 家庭中文版 版本号:21H2  内部版本:19044.1889

项目运行:IDEA2021.2.3,maven,jdk1.8

浏览器:Edge,Chrome

自动化脚本环境:PyCharm2021.2.3

网络:本地环回地址

测试人员:

用例分析,编写测试用例,手工测试,自动化脚本  均是我自己

测试执行情况与记录:

除了安全,性能,部分浏览器版本和系统的兼容性之外,其他的测试用例均已执行,大部分符合预期。

需求覆盖率由于本身是学习用的个人项目,当时觉得能跑就行,对界面啥的都没需求,功能方面也没对用户名或者密码有具体要求,所以这个很难计算。

缺陷记录:

有几个比较严重的问题,我大概总结了一下

第一个问题:用户名,密码,专辑名,音频名等类似的名字都没有设置其应该处在的范围,例如:字数,大小写,符号,什么开头,能不能混合还是必须混合等。也因此相关的测试用例比较简化,举了几个例子说明就结束了,对此应该按照需求进行改进(我去数据库里设置了一下字数限制,但是对于其他的感觉其实都可以,就没改)

不过空白名能作为用户名确实是个比较严重的问题了。

第二个问题:对于文件不是音频文件的上传问题,因为音频文件的格式很多MP3、WAV、WMA、MP2、Flac、MIDI、RA、APE、AAC、CDA、MOV之类的,这个具体怎么设置估计要搜完之后再改了,现在是所有文件都能上传,但是除了常见音频文件以外都无法正常使用。

第三个问题:数据库的上传的文件大小不够,启动项目的时候需要输入sql语句

SET GLOBAL max_allowed_packet = 500 * 1024 * 1024;

每次都要设置很麻烦,但是还没有找到好的办法,除非设置默认每次运行。

第四个问题:列表专辑和封面的专辑图片有些时候会不显示,这个问题其实开发的时候就有了,不过我暂时不明白是什么问题,不管是URL还是本地文件去修改,都是不稳定的,在播放界面还好,基本99%都会显示,这个我觉得是可以接受的,但是列表专辑的封面基本不显示,这个问题没那么影响使用,我个人也没找到解决办法。

第五个问题:播放界面的进度条无法拖动,这个我去看了相关资源,有些头绪,也去修改了几次,但是还没有解决,估计要搜索一些相关的知识才能搞定了。

总结:

测试用例全部执行完毕,整个项目具体功能实现完整,存在个别缺陷待解决,除了问题三需要每次设置,问题五无法控制进度之外,其余问题在正常使用的前提下基本不会出现问题。

部分其他的问题可以看我上面进行的说明

功能测试基本完成了,兼容性测试切换系统环境和各个版本问题比较大,安全方面也目前比较难以测试,性能测试方面可以通过loadrunner跑一遍,不过感觉意义不大,不仅是没有上线,而且这种数据库的存储感觉并发效率都很低。

你可能感兴趣的:(软件测试,测试用例,java,功能测试)