基于百词斩和扇贝单词的背单词APP软件测试
概述
背单词APP是非常受大学生青睐的手机应用,但它的发展尚未成熟,存在一些缺陷。我们决定深入地分析一组典型的背单词APP:百词斩(A产品)、扇贝单词(B产品),寻找当前背单词APP中的提升空间。下面给出了预估项目完成时间表。
项目 | 内容说明 | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 1.计划 | 10 | 5 |
· Estimate | · 估计这个任务需要多少时间 | 10 | 5 |
Testing Design | 2.测试设计 | 160 | 120 |
· Analysis | · 需求和测试需求分析 | 40+80 | 30+30 |
· Design Test Cases | · 设计测试用例 | 40 | 60 |
Testing Environment | 3.搭建测试环境(安装测试工具、管理工具等相关运行和支撑软件) | 60 | 30 |
Testing Implementation | 4.测试实施 | 300 | 480 |
· Test | · 执行测试 | 300 | 480 |
Reporting | 5.报告 | 100 | 60 |
· Test Report | · 测试报告 | 40 | 30 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 60 | 30 |
合计 | 630 | 695 |
模块划分
百词斩和扇贝单词都是功能齐全、十分综合的APP。他们的模块划分图形如下图:
接下来,我们将对它们四个主要的共有的模块——背词模块、学习模块、词库模块和交际模块,进行测试。
我所负责的模块是学习模块,学习模块的作用是帮助用户通过视频、阅读文章的方式进行学习。这里要将它与“背词模块”加以区分。背词模块是用户使用APP的主体部分,侧重点在按照计划学习单词、背词、打卡。学习模块强调的是APP向用户提供其他材料,使用背单词以外的方式使用户达到学习的目的。
百词斩的学习模块包括
- 单词TV(专题)——拥有两个专题(大话词源、斩家情景剧),以视频的形式呈现给用户。视频可以自动连播,用户还可以进行评论
- 单词TV(已学单词)——将用户之前学习的单词以视频讲解的形式提供给用户
- 单词TV(发现)——将用户尚未学习的单词以视频讲解的形式提供给用户
- 单词电台(单词音频)——将用户已学单词以音频讲解的形式提供给用户,可以连播
- 单词电台(阅读计划音频)——将一些经典的英语名著以文字和朗读的形式呈现给用户
- 单词电台(真题音频)——给用户提供了重要英语考试的听力材料
- 爱阅读——根据用户制定的计划和专辑,给用户提供阅读材料,以文字和朗读的形式呈现给用户。用户可以在阅读材料中做笔记、分享
- 单词量测试——为用户提供一系列单词选择题,以测试用户的词汇量
- 小讲堂——包含一系列学习向的文章
- 兴趣圈——相当于一个用户论坛,按照不同主题划分区域,用户可以发帖交流
扇贝单词的学习模块包括
- 用短语背单词——用户选择一本教材,然后使用短语的形式学习这些单词
- 用视频学单词——以情景剧的形式展现一段视频材料,帮助用户学单词,可以评论、分享
- 扇贝自习室——由扇贝单词发布一系列学习有关的话题,用户可以在下方评论
- 扇贝同桌——为用户匹配到一个有相同需求的用户,相互监督学习
- 扇贝小组——相当于一个论坛,以用户相互监督学习为目的
- 每日一句——每天提供一个美句供用户欣赏、学习
- 扇贝精选——包含一系列学习向的文章
- 单词量测试——为用户提供一系列单词选择题,以测试用户的词汇量
- 小游戏——通过小游戏的形式帮助用户学习单词
我们发现,很多功能在这两个APP中,虽然有不同的名称,但是却有相同的功能。如:单词TV←→用视频学单词、小讲堂←→扇贝精选、扇贝小组←→兴趣圈。接下来的测试用例设计中,我们会重视这些共同拥有的功能,做一些对比性功能测试。
测试用例的设计
首先列出两个APP总共40个测试用例。(我们使用了禅道9.8.3作为测试管理工具)
关于禅道的使用方法(如测试用例的导出),可以在彩民的这篇文章中看到。
对于被测试的绝大部分功能,由于非常简单,在这里不再赘述。下面我只对几个特别的测试用例设计进行说明。
单词电台(百词斩)
百词斩的“单词电台”具有繁杂的功能,它将用户已学单词以音频讲解的形式提供给用户,并且支持连播。用户可以从头开始收听单词电台,这样,他将依次听到他之前所学习的所有单词。他也可以点选一个特定的单词去收听。那么我们就有了一个等价类划分。
从头播放意味着用户进入单词电台后,直接点击播放按钮。播放结尾意味着,用户直接选择单词电台的结尾进行播放。
从头播放
这是一种默认的播放方式(但不一定最实用),APP将首先播放片头,然后顺序播放单词列表中的所有单词,然后播放片尾,最后循环回到第一个单词。(之后的循环不会再播放片头)
点选单词播放
这种方式最适合用户学习。首先APP会播放用户点选的单词,然后顺序播放单词列表中的所有单词,然后播放片尾,最后循环回到第一个单词。(之后的循环不会再播放片头)
这个等价类具有两个边界值:用户点选单词列表第一个单词、用户点选单词列表最后一个单词。
在我们的测试用例下,“单词电台”没有表现出缺陷。
播放结尾
这种方式仅仅会在测试中用到(一般用户不会播放结尾)。此时,APP会播放片尾,然后循环回到第一个单词,顺序播放单词列表中的所有单词,如此往复。(依然不会播放片头)
用短语背单词(扇贝单词)
扇贝单词的“用短语背单词”有一系列复杂的事件流,在这里我们选用了场景法进行测试。
经过归纳总结,我们画出了场景事件流,它看起来像是这样的:
注意到结点①③④⑥均为分支节点,于是环复杂度为5,且不存在相互依赖的事件流,于是我们设计了五个测试用例。
用例一:0,1,3,4,5,4,3,0
用例二:0,1,2,1,3,0
用例三:0,1,3,4,6,5,4,3,0
用例四:0,1,3,4,6,5,4,5,4,3,0
用例五:0,1,3,4,6,5,4,3,0,1,2,1,3,0
它们是一组相互独立的测试用例。并且他们均通过了测试
发现的缺陷
在学习模块中,百词斩和扇贝单词的表现均十分良好,大部分功能都很好地实现了。
美中不足的是,在百词斩的“爱阅读”功能中,出现了一些小缺陷。
“爱阅读”的专辑播放功能,允许用户按照顺序,自动播放一个专辑中的所有文章。但是在播放时,出现了专辑中不同文章的播放音量大小不统一的问题。如,在专辑“爱之初体验(高级)”中,《独立日激情演讲》音量很高,而同属于这一专辑的《张国荣出任CASH形象大使英文演讲》的音量就很低。用户尽管选择了自动连播,但却要自己调整每一篇文章的音量。APP没有做到预先调整每一篇材料的音量,这是一个影响用户体验的BUG。
可用性测试
我们还对邀请了亲朋好友(总共13位,分为4批)进行了“百词斩”的可用性测试。我们总共设计了四个场景,被测用户按照要求依次完成每个场景中的任务,用户一边执行任务,一边说出自己的感受。在每个场景结束后,我们会询问用户是否遇到产品缺陷。如果用户说不出来,我们还会告诉用户之前几批被测用户遇见的问题,以激发用户的思维。
具体的场景设计、测试过程、测试结果可以在毕博平台上的“可用性测试报告”上找到。
总结
关于两个APP
百词斩和扇贝单词在功能方面,可以说是非常全面。它们主要的缺点就在于,功能还不够“精”。上文所说的“爱阅读”的缺陷算一个。在别的模块中,还发现了更多的BUG。例如,在交际模块的“单词PK”功能中,好友PK提醒过于隐蔽,导致用户很难发现自己被人邀请PK。更多的缺陷还可以在levey的博客、西瓜的博客、以及彩民的博客中进一步了解。
百词斩的“单词TV”和扇贝单词的“看视频学单词”都为用户提供了看视频进行学习的途径。但是百词斩的视频数量更多,而且有着统一的分类(大话词源、斩家情景剧),而扇贝单词就显得很杂乱,仅仅有一个“最新发布”的入口,里面放着寥寥无几的视频材料,这一点,百词斩更有竞争力。
左图是百词斩“单词TV”,右图是扇贝单词“看视频学单词”。
百词斩的“小讲堂”和扇贝单词的“扇贝精选”,为用户一系列学习向的文章。就功能而言,他们不分伯仲。就界面而言,百词斩明显在色调、界面分布、字体大小上多下了一些功夫。
由此可见,相同的功能,百词斩比扇贝单词制作地更加精美。百词斩把这么一个背单词APP,做出了一款交际APP的感觉;而扇贝单词只是一个专业的背单词APP,它尝试做出一些扩展功能,但是效果并不好。
关于我们
最初,我们拿到这个任务时,一致认为:“百词斩和扇贝单词这两个APP使用这么广泛,怎么会有BUG呢?要是有BUG也早就被其他用户发现,然后已经修复了。”后来,随着一个又一个测试的推进,大家还是发现了很多BUG。这就告诉我们,一个APP,对于它的测试是没有止尽的,它被使用的次数越多,就会暴露出越多的BUG。
这次的任务主要以测试为主,小组所有成员平摊了所有任务,因为不存在编码,所以大家的工作量没有显著的区别。个人贡献分:25%
基于百词斩和扇贝单词的背单词APP软件测试的更多相关文章
- 有道单词导入 有道单词 生词本 批量导入 添加 有道单词XML 背单词
本程序 主要功能: 对有道生词实现批量导入功能 生成有道单词XML的功能,实现快速导入 有了本程序后就可以批量添加生词. 有道生词本 XML模板 分析 word 为单词,可以为一个单词 ...
- 第六周小组作业 软件测试与评估:百词斩VS扇贝单词
被测产品说明: A:百词斩 B:扇贝单词 一.基本任务 1.测试进度表 | 项目 | 内容说明 | 预估耗时(分钟) | 实际耗时 (分钟) | | -------------- | -------- ...
- 做中学(Learning by Doing)之背单词-扇贝网推荐
做中学(Learning by Doing)之背单词-扇贝网推荐 看完杨贵福老师(博客,知乎专栏,豆瓣)的「继续背单词,8个月过去了」,我就有写这篇文章的冲动了,杨老师说: 有时候我会感觉非常后悔,如 ...
- 使用Excel背单词-高效-简单
背单词是一个很纠结的事,想必那些走在留学路上的很多人都被英语这一关卡住了,这里,笔者就聊聊,不讲背单词的方法,只提供使用vb开发的产品和使用方法,有问题欢迎讨论. 简介:使用excel背单词,有一些人 ...
- “我爱背单词”beta版发布与使用说明
我爱背单词BETA版本发布 第二轮迭代终于画上圆满句号,我们的“我爱背单词”beta版本已经发布. Beta版本说明 项目名称 我爱背单词 版本 Beta版 团队名称 北京航空航天大学计算机学院 拒 ...
- BZOJ4567[Scoi2016]背单词
4567: [Scoi2016]背单词 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 304 Solved: 114 [Submit][Status] ...
- 《我爱背单词》 Alpha版 发布说明
——发布地址(baidu网盘) http://pan.baidu.com/s/15omtB ——简介 <我爱背单词>是一款英语单词记忆和管理辅助软件,旨在帮助广大考生在短期内攻克GRE. ...
- [No000057]一个人默默背单词,小心被传染哦
不日凛冬将至,全国各地,已有多名少侠因季节变化,出现了不同程度的四肢不勤.bd不分的症状.具体表现为—— 包大人在此高能预警:不想背单词,有可能你已经被传染了. 好好的,怎么突然不想背单词了 哈佛医学 ...
- [No000014]听说不背单词,考英语会是这种下场-我们为什么必须背单词?
由于英语对于一个程序员来说,重要性你懂得.因此我会开始逐渐在博客上加入英语的一些东西. 听说不背单词,考英语会是这种下场 在中国, 「学英语」大抵遵循着这样一条 罗蒙诺索夫质量守恒定律 因为英语学着学 ...
随机推荐
- for 和while循环 if else
for和 while循环 当你知道循环次数的话就用for循环, 不知道的时候用while循环,while必须要有结束条件 a +=1 等于 a =a+1 for i in xxx: i:是一个变量 ...
- TinkPHP框架学习-03模型类
1-----数据访问 2-----数据查询 3-----数据添加 4-----数据修改 5-----数据删除 创建一张nation表并写入三条测试数据 create table nation( `co ...
- VUE 引入阿里图标库
本身项目是VUE, Element-UI项目, 所以内置Element-UI图标库 地址如下, https://element.eleme.cn/#/zh-CN/component/icon 使用时: ...
- Hadoop HDFS常用命令
1.查看hdfs文件目录 hadoop fs -ls / 2.上传文件 hadoop fs -put 文件路径 目标路径 在浏览器查看:namenodeIP:50070 3.下载文件 hadoop f ...
- redis远程连接不上解决办法
结构:PC-A 运行redis client,PC-B运行redis server PC-B方面 在server中,修改配置文件redis.windows-service.conf中的: 1.注释 # ...
- getPageNumRange
<script> function getPageNumRange(pagenumstr) { var pages=pagenumstr.split(";"); pag ...
- shardingsphere多数据源(springboot + mybatis+shardingsphere+druid)
org.springframeword.boot:spring-boot-starer-web: 2.0.4release io.shardingsphere:sharding-jdbc-spring ...
- 爬虫之进阶 twisted
简介 Twisted是用Python实现的基于事件驱动的网络引擎框架.Twisted诞生于2000年初,在当时的网络游戏开发者看来,无论他们使用哪种语言,手中都鲜有可兼顾扩展性及跨平台的网络库.Twi ...
- Linux Simple Systemd Service Guide
Simple Systemd Service Guide 主题 Systemd介绍 Systemd基本操作 怎样编写_service_.service文件 怎样部署service Systemd介绍 ...
- Pecan中api-paste.ini的解析
在pecan中存在一个请求配置文件,定义服务启动程序app和过滤器filter,例如: [pipeline:main] pipeline = request_id sizelimit api-serv ...