成熟软件产品测试

基础任务

经过讨论,我们小组选择了百词斩作为基础软件产品,扇贝单词作为其竞品。

PSP 表

PSP2.1PSP阶段预估耗时(分钟)实际耗时(分钟)
Planning计划2020
·Estimate·估计这个任务需要多少时间1030
Testing Design·测试设计3030
·Analysis·需求和测试需求分析6070
·Design Test Cases·设计测试用例4030
Testing Environment· 搭建测试环境(安装测试工具、管理测试工具等相关运行和支撑软件)4040
Testing Implementation·测试实施6060
·Test·执行测试4040
Reporting·报告6070
·Test Report·测试报告6060
·PostMortem &Process Improvement Plan·事后总结,并提出过程改进计划3030
·合计450480

功能模块图

我负责画出如下百词斩的功能模块划分图:
1341785-20180423160246857-2115694112.png

下图是李露阳同学负责画的扇贝单词的功能模块划分图:
1341785-20180423151858988-2034606880.png

测试说明

其中,我负责做对比测试的功能模块有 两款软件的 冷启动/背单词 模块,百词斩圈子 和相应的 扇贝单词发现 模块。

测试原理和依据

1 边界值测试
产生的原因
  1. 经过长期的测试工作经验表明,在输入 域的边界或边界附近,常常会发现大量缺陷
  2. 边界值测试倾向于选择系统边界或边界 附近的数据来设计测试用例
如何设计边界值测试

在边界以及边界附近的邻域内选择所有的测试数据,构成测试用例。

2 等价类测试
如何划分等价类

有效等价类

  1. 输入域中一组有意义的数据的集合
  2. 有效等价类被用于检验系统指定功能和性能 能否正确实现

无效等价类

  1. 输入域中一组无意义的数据的集合
  2. 无效等价类被用于检验系统的容错性

基于系统实现的等价划分——从程序员实现系统的角度出发,多关注接 口
基于用户需求的等价划分——从功能和业务处理机制角度出发,多关 注隐含系统内部处理流程

3 场景测试方法测试

从场景设计测试用例:

  1. 找到输入条件
  2. 判断是否有效条件
  3. 判断是否触发条件
  4. 需要取哪些测试数据
  5. 得到系统预期输出
4. 软件使用场景图
冷启动场景图

1341785-20180423151909669-1014223783.png

背单词场景图

1341785-20180423200747429-1838693510.png

场景细化:

1341785-20180424140924343-995190313.png

缺陷清单

  1. 百词斩冷启动部分内容显示不正常(iPhone X)
  2. 扇贝单词的单词详情页滑动不够流畅(小米 6)

测试用例清单

根据该功能模块划分图,设计出如下测试用例:

  1. (百词斩/扇贝单词)iPhone X 冷启动
  2. (百词斩/扇贝单词)iPhone 8 Plus 冷启动
  3. (百词斩/扇贝单词)iPhone 6 冷启动
  4. (百词斩/扇贝单词)小米 6 冷启动
  5. (百词斩)背单词——查特定词
  6. (扇贝单词)背单词——查特定词
  7. (百词斩)背单词——开始背单词——斩/提示/发音
  8. (扇贝单词)背单词——开始背单词
  9. (百词斩)背单词——下载离线单词包
  10. (扇贝单词) 背单词——离线单词书
  11. (百词斩) 背单词——更改背词计划
  12. (扇贝单词) 背单词——改变正在学习的单词书
  13. (百词斩) 背单词——单词列表
  14. (扇贝单词) 背单词——查看正在学习的单词书
  15. (百词斩)圈子——发现——百词斩小班
  16. (扇贝单词)发现——自习室/小组
  17. (百词斩)圈子——好友——添加好友
  18. (百词斩)圈子——好友——动态
  19. (扇贝单词)发现——同桌
  20. (扇贝单词)发现——七周攻克四六级

部分测试截图

百词斩冷启动,在较新的 iPhone X 机型上出现了一个 bug,图片中的百次斩水印和单词的部分内容没有正常显示,当然也不排除这是某种 feature。
1341785-20180423201256234-18517292.png

扇贝单词冷启动:首先显示一片空白,然后是一个带广告链接的图片,非常容易点击到该链接,然后才会进入软件:
1341785-20180423201814473-1745136139.png

查词界面截图:
1341785-20180423202644196-650815758.png
1341785-20180423202717280-1549132242.png

测试管理工具及使用截图

我们小组使用的是老师给出的排名第二的测试管理工具 Jira,原因主要是排名第一的禅道不支持 macOS 系统。
我使用的版本是 7.9.0 for macOS,下载地址是 https://www.atlassian.com/software/jira

使用截图如下:
选择基本开发方法
1341785-20180423203711962-559876236.png
1341785-20180423205415637-372032137.png
测试用例导出
1341785-20180423210249624-1914243587.png
缺陷导出
1341785-20180423152130026-1267872453.png
导出为 word:
1341785-20180423155500074-333807875.png

结论说明

综合结论是,百词斩的功能更为人性化,而扇贝单词的界面的交互更简洁,可以根据个人喜好来选择,对于我个人而言,更加喜欢百词斩。以下是详细说明

冷启动

每次打开软件,百词斩都使用了一个单词,和用来诠释单词的图片来进行进入软件的过渡。而扇贝单词首先显示一片空白,然后是一个带广告链接的图片,非常容易点击到该链
接,然后才会进入软件。

可见在打开百词斩的碎片时间中,我们还可以复习一个单词,但打开扇贝单词的这一点时间对于对于其推广的课程不感兴趣,只想安安静静地背个单词的用户,就被浪费了。就这一点看,百词斩更加为用户着想,而扇贝单词作为商家,启动界面加入广告也无可厚非,但是误触之后,还要花费半天时间加载购买界面,而不是直接进入背词界面,的确是不太好的用户体验。

背单词

在背单词这个大功能下,两款软件有着略微不同的各项子功能:

  1. 查词,百词斩的查词联想给出了更多的备选项,以便即使用户输错了一两个字母,也能更快地找到想找的单词,而扇贝单词只给出较少的完全匹配的备选项。
  2. 背单词,可以看到,这两款软件在背单词的时候,都会有一些没有必要的动画效果,单词一多,这些动画效果就会占用不少时间,感觉会浪费时间。
    百词斩和扇贝单词对于不认识或者不熟悉的单词,都有给出提示的选项。但是扇贝单词首先给出的是英文句子,而百次斩在显示单词的时候就会同时显示英文例句,点击需要提示的选项,就会弹出中文解释,再次点击,两者都会显示英文解释,这一点对于有一定英语基础的学习者有不错的帮助,但是对于几乎没有英语基础的学习者而言,并没有太大的帮助。
    扇贝单词往往只能选择下一个,按照软件设置,它可能会在后面再次出现,而百词斩,选择了斩选项之后就可以不用再看这个词,更加个性化,而且节省时间。

圈子/发现

即这两款软件中的轻量级社交功能,目的是寻找一起背单词的小伙伴,一起学习,共同进步。在百词斩的圈子中,添加好友的选项比较丰富和直接,而且可以直接根据用户名进行搜索和添加,而扇贝单词需要进行一系列性别/期望等的设定,而且还要绑定微信,对于不经常使用微信的年轻用户很不友好,而且过程很繁琐,可能好奇点进这个功能后,在设定的过程中,因为多了这么几个选项就不太想设定了。

扩展任务:用户调研和可用信测试

百度云下载:链接:https://pan.baidu.com/s/1WxunCSPqy5NsUc3t5Qg3tw 密码:cpbw

高级任务:专题测试

我们小组选择的专题是 GUI 界面测试

核心思想

从人机交互的角度,考虑可用性、易用性。确保 GUI 能够协助用户能够快速找到想要的功能,GUI 能够完整正确地显示信息。

基于百词斩,选用的老师推荐的 Appium 作为测试工具。由于我们测试的是移动端应用,而且手上没有源代码,所以没有可以用的测试脚本。

视频见毕博平台。

定性和定量的测试评论也已提交到毕博平台。

工作感受

我在高级任务中主要负责测试用户界面,即 GUI,结合测试,以及曾经学习过的人机交互、软件体系结构知识,对软件 GUI 作出定性、定量的评判。我个人认为单单测试一个软件,只能得出比较直观、感性的定性评判,要“货比三家”,也就是用老师所介绍的对比测试,才能更加客观地对其进行定量的打分。

就百词斩而言,除了冷启动时,偶尔单词或者其发音的某些部分显示不全,其 GUI 的美术设计以及交互设计都比较不错,更加具体的结论,可见提交到毕博的定量评论。

工作

35%

3 次实践作业的感受

  1. 第一次的作业多次变更需求,让我深切地体会到了需求变更给软件开发带来的麻烦。在以后的实际开发过程中,也肯定会经常遇到这种情况,我看到微博/知乎上的一些前辈对于这个的经验是——先做靠谱的需求,当然,有时也并不知道什么才是靠谱的需求。那就先搭一些框架,等需求完全确定,也非常容易扩充和修改。所以,代码的可修改性/可维护性十分重要。
  2. 第二次作业是小组作业,我们小组学习并掌握了使用 Gradle 进行项目的管理,感觉十分方便。使用 git 合并代码时,各自 clone 到本地运行时,出现了一些问题,主要是由于操作系统的不同和开发环境的配置不同引起的,后来想了办法解决。我们是使用完全去中心化的每个组员都能 push 的方法,事实证明,这样会给合并代码带来许多麻烦,觉得以后还是用 Pull/Request 更加便于集中管理。更加熟悉小组协作以及协作管理工具的使用。
  3. 第三次作业是对比较成熟的软件产品进行测试,使用边界值/等价类/场景法这些方法来对软件进行测试,可以看到被测软件虽然说都有些微的瑕疵,但总体而言,已经比较完善。扩展任务也引领我们转变思维,不是从开发者的角度出发,而是更加多地从用户的角度来思考问题,测试软件的易用性。高级任务让我们学会了怎样定性和定量地去评判软件的某个方面。系统地学到了在软件开发之外,开发者还应该关注的东西。

转载于:https://www.cnblogs.com/vectorlu/p/8919563.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值