测试
请根据团队项目中软件的需求文档、功能说明、系统设计和测试计划,写出软件的测试过程和测试结果,并回答下述问题。
1.在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个?
BUG类别 | 数量 | BUG症状 | 出现的原因 |
a.修复的bug,最新的版本已经完成了修复 | 6个 | 第二局之后的游戏出来的单词与上一局的单词一样 | 在编写代过程中有两个地方写了随机函数,当时只在一个地方做了修改,另一个地方忘记写随机函数了,所以只有第一、二局随机出了新一组的单词。 |
在游戏界面中的等级没有改变 | 在编写的时候只记得在pass页面中等级的改变,忘记了游戏界面的等级也要做出相应改变。 | ||
音乐开关键无效,点击音乐开,打开手机音量后仍然没有声音 | 我们在电脑上的微信开发者工具中运行的时候是可以有音乐效果的,但是在手机上却没有声音,后来把音乐从本地地址改成网络地址,就解决了这个问题。 | ||
游戏过程中偶尔会出现单词重复的现象 | 在选取单词的过程中,对于在编写单词选取随机函数中判断选取出来的八个单词中是否有重复单词,判断语句中少了个.text,导致整个判断无效,所以偶尔出现了单词重复的现象。 | ||
多次快速点击已经消除区域,可以闪烁原来的单词(画面挺诡异的T_T) | 词块的样式是以按钮实现的,根据不同的情况修改了按钮的颜色,再次点击可能触发了按钮的点击态,导致了单词的闪现。经过修改,将按钮消除的形式从改变按钮样式改成了隐藏,便不会有这种情况。 | ||
界面过于单一,色彩比较单调 | 对于Alpha阶段,我们主要目标是写出一个MVP,还没有过多地考虑到界面设计,针对用户的反馈,我们对界面进行了改善,UI方面我们会继续进行修改美化。 | ||
b.不能重现的bug | 0个 | ||
c.这个产品就是这样设计的,不是bug | 1个 | 每个单词中文意思单一 | 目前由于我们还没有开发出单词不同意思的随机功能,所以导入的时候只导入了单词较为常见的一个中文意思,所以每个单词目前还只有对应一个中文意思。短期内我们对于这种情况不作修改,但是接下来我们对于单词学习页面会做出修改,列出每个单词的所有意思,便于用户的学习。 |
d.没有能力修复,将来也不打算修复 | 1个 | 单词显示加载速度较慢 | 我们的游戏是用小程序的模式写的,所以游戏的流畅度不够。如果是以游戏的模板写,发布微信小游戏需要证书和证明,对于目前我们这种短期想要发布的情况是不现实。 |
e.这个bug的确应该修复,但是没有时间在这个版本修复,延迟到下一个版本修复 | 2个 | 用户如果重新授权,等级会清零 | 目前我们还没有连接到数据库,所以用户信息在后台没有记录,一旦重新授权,等级便又会清除从头开始。 |
游戏界面没有返回按钮,单词学习或者游戏过程中途不想玩游戏了,只能退出整个小程序或者倒计时结束,游戏灵活性较差。 | 这个是部分用户在玩游戏过程中给我们提出的建议,我们在设计游戏界面过程中没有考虑到这个问题,这将在下一个版本进行改进。 |
2.场景测试(scenario testing),包括以下内容:
1.你预期不同的用户会怎样使用你的软件?
目前预期的主要用户为大学生。在零碎的时间想学习单词,复习单词的时候,他们通过微信小程序就可以使用软件。
2.他们有什么需求和目标?
需求:用户在零碎的时间,比如坐公交、排队等待时,拿着书或者使用背单词APP很难集中注意力,比较枯燥,而且背单词的效率并不高。
目标:不仅可以消遣空闲时间,还能顺便背背单词。
3.你的软件提供的功能怎么组合起来满足他们的需要?
(1)可选择难度性的单词学习,能够循序渐进提高的学习单词的难度;
(2)时间的约束,能够提高用户运算的速度,实现快速且正确率高的效果;
(3)学习模式,能够让用户学习新的单词,复习已经学习过的单词;
(4)游戏模式,能够减轻学习单词的枯燥感,增强单词的记忆,起到复习单词的作用;
3.你们在什么样的平台、硬件配置、浏览器类型等条件上对你们的软件进行测试?——测试矩阵(test matrix)
测试功能 | 测试项 | 检验点 | 预期结果 | 小米(4,6) | 三星(A7) | OPPO(A57) | iPhone(7) | 华为(P10) | VIVO(Y66) |
小程序外部 | 进入小程序前的界面 | 搜索‘i词汇’ | 在微信小程序上搜索到‘i词汇’ | √ | √ | √ | √ | √ | √ |
微信用户授权 | 进入小程序后自动授权(首次需确认) | √ | √ | √ | √ | √ | √ | ||
“开始”按钮 | 点击后进入难度选择 | √ | √ | √ | √ | √ | √ | ||
学习功能 | 难度选择界面 | “帮助”按钮 | 点击后进入使用方法说明 | √ | √ | √ | √ | √ | √ |
“简单”按钮 | 点击后进入简单词汇记忆界面 | √ | √ | √ | √ | √ | √ | ||
“一般”按钮 | 点击后进入一般词汇记忆界面 | √ | √ | √ | √ | √ | √ | ||
“困难”按钮 | 点击后进入困难词汇记忆界面 | √ | √ | √ | √ | √ | √ | ||
单词学习界面 | 单词及中文意思文本 | 显示单词及相应中文供用户记忆学习 | √ | √ | √ | √ | √ | √ | |
“开始游戏”按钮 | 点击后进入游戏界面 | √ | √ | √ | √ | √ | √ | ||
游戏功能 | 单词消除界面 | 等级显示框 | 显示用户当前等级 | √ | √ | √ | √ | √ | √ |
倒计时显示框 | 显示当局游戏剩余时间 | √ | √ | √ | √ | √ | √ | ||
“音乐开”按钮 | 点击后开启游戏背景音乐 | √ | √ | √ | √ | √ | √ | ||
“音乐关”按钮 | 点击后关闭游戏背景音乐 | √ | √ | √ | √ | √ | √ | ||
“暂停”按钮 | 点击后进入游戏暂停页面,游戏时间暂停 | √ | √ | √ | √ | √ | √ | ||
词块按钮(16个) | 连续点击相符的中英文词块进行消除 | √ | √ | √ | √ | √ | √ | ||
游戏结束功能 | 游戏过关界面 | “PASS”文本 | 显示PASS提示用户已过关 | √ | √ | √ | √ | √ | √ |
“经验值”文本 | 显示当局游戏获得的经验值 | √ | √ | √ | √ | √ | √ | ||
“等级”文本 | 显示当局游戏结束后用户当前的等级 | √ | √ | √ | √ | √ | √ | ||
“NEXT”按钮 | 点击后进入下一轮单词学习界面 | √ | √ | √ | √ | √ | √ | ||
“BACK”按钮 | 点击后返回难度选择界面 | √ | √ | √ | √ | √ | √ | ||
游戏失败界面 | “GAMEOVER”文本 | 显示GAMEOVER提示用户游戏失败 | √ | √ | √ | √ | √ | √ | |
“经验值”文本 | 显示当局游戏获得的经验值(+0) | √ | √ | √ | √ | √ | √ | ||
“等级”文本 | 显示当局游戏结束后用户当前的等级 | √ | √ | √ | √ | √ | √ | ||
“再来一局”按钮 | 点击后进入下一轮单词学习界面 | √ | √ | √ | √ | √ | √ | ||
“返回”按钮 | 点击后返回难度选择界面 | √ | √ | √ | √ | √ | √ | ||
辅助功能 | 难度选择界面 | 按钮颜色 | 白色字橙黄色底(#fff,#FCAD26) | √ | √ | √ | √ | √ | √ |
文本颜色 | 白色(#fff) | √ | √ | √ | √ | √ | √ | ||
难度选择界面 | 按钮颜色 | 白色字橙黄色底(#fff,#FCAD26) | √ | √ | √ | √ | √ | √ | |
文本颜色 | 白色(#fff) | √ | √ | √ | √ | √ | √ | ||
帮助界面 | 按钮颜色 | 白色字橙黄色底(#fff,#FCAD26) | √ | √ | √ | √ | √ | √ | |
文本颜色 | 白色(#fff,阴影显粉) | √ | √ | √ | √ | √ | √ | ||
单词消除界面 | 词块按钮(16个) | 蓝底白字(点击后变紫色) | √ | √ | √ | √ | √ | √ | |
按钮颜色 | 白色字橙黄色底(#fff,#FCAD26) | √ | √ | √ | √ | √ | √ | ||
倒计时显示框格式 | 白字粉底(#fff,#FD9090) | √ | √ | √ | √ | √ | √ | ||
等级显示格式 | 棕红色 | √ | √ | √ | √ | √ | √ | ||
游戏暂停界面 | 按钮颜色 | 白色字橙黄色底(#fff,#FCAD26) | √ | √ | √ | √ | √ | √ | |
文本颜色 | 白色(#fff) | √ | √ | √ | √ | √ | √ | ||
游戏过关界面 | 按钮颜色 | 白色字橙黄色底(#fff,#FCAD26) | √ | √ | √ | √ | √ | √ | |
文本颜色 | 黑色(black) | √ | √ | √ | √ | √ | √ | ||
游戏失败界面 | 按钮颜色 | 白色字橙黄色底(#fff,#FCAD26) | √ | √ | √ | √ | √ | √ | |
文本颜色 | 白色、粉色(经验等级) | √ | √ | √ | √ | √ | √ |
4.非功能测试
- 性能指标(响应时间和吞吐量,需要给出截图和测试实例以及结果)
响应时间
三星A7
第一个界面
困难选择界面
单词学习界面
游戏界面
平均响应时间:0.552s
第一个界面
困难选择界面
单词学习界面
游戏界面
平均响应时间:61.63s
第一个界面
困难选择界面
单词学习界面
游戏界面
平均响应时间:21.83s
吞吐量
经过查阅资料我们发现网络上对吞吐量的解释为在一次性能测试过程中网络上传输的数据量的总和。对于交互式应用来说,吞吐量指标反映的是服务器承受的压力。而我们的小程序没有使用服务器,且不是一个在线程序。所以也就没有数据传输,那么就不能进行吞吐量测试。
- 系统资源监控(CPU、内存占用情况,需要给出截图和测试实例以及结果)
- 压力测试(不同并发用户数,需要给出截图和测试实例以及结果)
查阅资料我们发现压力测试不是并发测试,是要满足两大因素“多用户”和“同时”,那么意味着该程序是需要为在线模式的,但是我们的小程序是单机模式,在没有连网的情况下也能玩,所以就不存在压力测试。 - 疲劳度测试(测试服务器持续运行的能力,需要给出截图和测试实例以及结果)
可以看到老师在括号里已经说明是测试服务器持续运行的能力,在之前我们已经提到过了,我们的程序没有使用服务器,所以不用进行疲劳测试。 - 安全测试(从三个角度来看,即保密性、可用性、完整性。需要给出截图和测试实例以及结果)
本程序为单机程序不用联网,不涉及数据传输等问题,所以并不存在完全问题,也不需要做安全测试。
序号 | 所完成的测试 | 系统所期望的性能指标 | 实际测试结果 | 差别分析 | 性能问题及其改进建议 |
---|---|---|---|---|---|
1 | 响应时间 | 5s左右 | 三星A7:0.552s,PRO 6s: 61.63s,XT1662: 21.83s | 机型之间有差异,只有三星A7满足期望 | 这种机型间的差异我不知道有什么方法解决 |
2 | 内存占用 | 200M左右 | PRO 6s: 132.96M,XT1662:164.12M | 与预期的内存占用差不多 | 还是希望内存占比更小一点,代码继续改进 |
3 | CPU占用 | 15% | PRO 6s: 12.01%,XT1662: 14.32% | 满足期望 | 满足期望,不存在问题 |
5.附加题:下列的附加题基于4各标准要求中,进一步细化了要求
响应时间:
第一个界面
困难选择界面
单词学习界面
游戏界面
平均响应时间:61.63s
第一个界面
困难选择界面
单词学习界面
游戏界面
平均响应时间:21.83s
- 分析
两个机型的不同模块测试,都体现了游戏界面模块需要响应的时间比较久,我认为原因在于该界面需要加载和渲染的东西比其他模块要来的多。
CPU、内存占用情况:
第一个界面
难度选择界面
单词学习界面
游戏界面
第一个界面
难度选择界面
单词学习界面
游戏界面
- 分析
以上两种机型无论是cpu还是内存占用情况,都是游戏界面模块所用的比较大。我认为主要原因在于游戏界面模块是该程序的重中之重,无论是从代码量还是从缓存中读取数据或者存放数据,在一模块都需要涉及到。所以占用的内存和cpu较大。
6.你认为你们团队的软件在什么条件下,就可以认定其已经足够好,可以发布Alpha版本?——出口条件(exit criteria)
能完成以上图所示的功能和界面,就可以发布Alpha版本。
发布
1.软件发布的同时,在团队博客上写一个发布说明
1.列出这一版本的功能(在原有项目基础上开发的列出新功能)
(1)授权功能
(2)选择功能(单词的难易程度)
(3)学习功能
(4)游戏功能(单词匹配消除)
(5)暂停游戏功能
2. 以原有项目为基础开发的,列出这一版本修复的缺陷
这是第一版,没有修复的缺陷。
3. 对运行环境的要求
该项目是以微信小程序形式存在,所以运行于微信平台
4. 安装方法
软件是微信小程序,安装微信。。。(相信大家都有,在此就不赘述了)
在已经安装微信的前提下进行一下步骤:
方法一:
简单粗暴,请扫下面的二维码
方法二:
①点击微信页面屏幕下方的“发现”,找到“小程序”。
②进入小程序搜索页面,输入关键字“i词汇”搜索。
③如图所示,点击进入小程序,就可以愉快地背单词啦!
5.描述系统已知的问题和限制
问题:
①游戏界面没有返回按钮,单词学习或者游戏过程中途不想玩游戏了,只能退出整个小程序或者倒计时结束,游戏灵活性较差。
②用户如果重新授权,等级会清零
限制:我们的游戏是用小程序的模式写的,所以游戏的流畅度不够。如果是以游戏的模板写,发布微信小游戏需要证书,对于目前我们这种短期想要发布的情况是不现实。
6.说明软件的发布方式以及发布地址
发布方式:i词汇是通过微信公众平台|小程序中的开发管理将我们的要发布版本提交审核,一天左右就可通过审核,在通过审核后,将审核通过的版本发布出来。
发布地址:二维码