概述

背单词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向用户提供其他材料,使用背单词以外的方式使用户达到学习的目的。

百词斩的学习模块包括

  1. 单词TV(专题)——拥有两个专题(大话词源、斩家情景剧),以视频的形式呈现给用户。视频可以自动连播,用户还可以进行评论
  2. 单词TV(已学单词)——将用户之前学习的单词以视频讲解的形式提供给用户
  3. 单词TV(发现)——将用户尚未学习的单词以视频讲解的形式提供给用户
  4. 单词电台(单词音频)——将用户已学单词以音频讲解的形式提供给用户,可以连播
  5. 单词电台(阅读计划音频)——将一些经典的英语名著以文字和朗读的形式呈现给用户
  6. 单词电台(真题音频)——给用户提供了重要英语考试的听力材料
  7. 爱阅读——根据用户制定的计划和专辑,给用户提供阅读材料,以文字和朗读的形式呈现给用户。用户可以在阅读材料中做笔记、分享
  8. 单词量测试——为用户提供一系列单词选择题,以测试用户的词汇量
  9. 小讲堂——包含一系列学习向的文章
  10. 兴趣圈——相当于一个用户论坛,按照不同主题划分区域,用户可以发帖交流

扇贝单词的学习模块包括

  1. 用短语背单词——用户选择一本教材,然后使用短语的形式学习这些单词
  2. 用视频学单词——以情景剧的形式展现一段视频材料,帮助用户学单词,可以评论、分享
  3. 扇贝自习室——由扇贝单词发布一系列学习有关的话题,用户可以在下方评论
  4. 扇贝同桌——为用户匹配到一个有相同需求的用户,相互监督学习
  5. 扇贝小组——相当于一个论坛,以用户相互监督学习为目的
  6. 每日一句——每天提供一个美句供用户欣赏、学习
  7. 扇贝精选——包含一系列学习向的文章
  8. 单词量测试——为用户提供一系列单词选择题,以测试用户的词汇量
  9. 小游戏——通过小游戏的形式帮助用户学习单词

我们发现,很多功能在这两个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软件测试的更多相关文章

  1. 有道单词导入 有道单词 生词本 批量导入 添加 有道单词XML 背单词

        本程序 主要功能: 对有道生词实现批量导入功能   生成有道单词XML的功能,实现快速导入 有了本程序后就可以批量添加生词. 有道生词本 XML模板 分析 word   为单词,可以为一个单词 ...

  2. 第六周小组作业 软件测试与评估:百词斩VS扇贝单词

    被测产品说明: A:百词斩 B:扇贝单词 一.基本任务 1.测试进度表 | 项目 | 内容说明 | 预估耗时(分钟) | 实际耗时 (分钟) | | -------------- | -------- ...

  3. 做中学(Learning by Doing)之背单词-扇贝网推荐

    做中学(Learning by Doing)之背单词-扇贝网推荐 看完杨贵福老师(博客,知乎专栏,豆瓣)的「继续背单词,8个月过去了」,我就有写这篇文章的冲动了,杨老师说: 有时候我会感觉非常后悔,如 ...

  4. 使用Excel背单词-高效-简单

    背单词是一个很纠结的事,想必那些走在留学路上的很多人都被英语这一关卡住了,这里,笔者就聊聊,不讲背单词的方法,只提供使用vb开发的产品和使用方法,有问题欢迎讨论. 简介:使用excel背单词,有一些人 ...

  5. “我爱背单词”beta版发布与使用说明

    我爱背单词BETA版本发布 第二轮迭代终于画上圆满句号,我们的“我爱背单词”beta版本已经发布. Beta版本说明 项目名称 我爱背单词 版本 Beta版 团队名称 北京航空航天大学计算机学院  拒 ...

  6. BZOJ4567[Scoi2016]背单词

    4567: [Scoi2016]背单词 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 304 Solved: 114 [Submit][Status] ...

  7. 《我爱背单词》 Alpha版 发布说明

    ——发布地址(baidu网盘) http://pan.baidu.com/s/15omtB ——简介  <我爱背单词>是一款英语单词记忆和管理辅助软件,旨在帮助广大考生在短期内攻克GRE. ...

  8. [No000057]一个人默默背单词,小心被传染哦

    不日凛冬将至,全国各地,已有多名少侠因季节变化,出现了不同程度的四肢不勤.bd不分的症状.具体表现为—— 包大人在此高能预警:不想背单词,有可能你已经被传染了. 好好的,怎么突然不想背单词了 哈佛医学 ...

  9. [No000014]听说不背单词,考英语会是这种下场-我们为什么必须背单词?

    由于英语对于一个程序员来说,重要性你懂得.因此我会开始逐渐在博客上加入英语的一些东西. 听说不背单词,考英语会是这种下场 在中国, 「学英语」大抵遵循着这样一条 罗蒙诺索夫质量守恒定律 因为英语学着学 ...

随机推荐

  1. java中获取远程ip的一个坑

    发现在高请求量的时候获取hostName慢,后发现getHostName方法慢导致的:需要获取hostName为获取ip的方式了:java 中 InetSocketAddress // remoteA ...

  2. PSR-1 基本代码规范

    基本代码规范 本篇规范制定了代码基本元素的相关标准, 以确保共享的PHP代码间具有较高程度的技术互通性. 关键词 “必须”("MUST").“一定不可/一定不能”("MU ...

  3. AX2009里调用.NET DLL的效率问题

    经常在AX2009里引用.NET的DLL,因为序列化和反序列化,用.NET的定义的实体方便一些,平时数据量不大,也没觉得有什么问题,今天要把几万条数据从数据库中取出来序列化以后,调用第三方系统的接口, ...

  4. python内置函数 和模块函数总结

    1.内置函数(无需导入)long() 函数将数字或字符串转换为一个长整型.len() 统计元素个数print() 打印,输出input() 输入,或阻塞程序运行type 获取类型range 产生连续的 ...

  5. Codeforces Round #436 B. Polycarp and Letters

    题意:给你一串长度为n的字符,由大小写字母组成,求连续的小写子串中不同字母个数的最大值. Input 11aaaaBaabAbA Output 2 Input 12zACaAbbaazzC Outpu ...

  6. poj_3045 贪心

    Farmer John's N (1 <= N <= 50,000) cows (numbered 1..N) are planning to run away and join the ...

  7. Linux nfs使用krb5的方式安全挂载

    配置安全的网络nfs文件共享服务 由于本人是使用的rhce模拟考试环境来做的本题目,所以文中说到的实验脚本和评分脚本,以及krb5.keytab文件只有我本套环境独有,如果自己做练习可以不去使用实验脚 ...

  8. innodb 关键特性(insert buffer)

    一.insert buffer 性能改善 insert buffer和数据页一样,也是物理页的一个组成部分. 在innodb存储引擎中,主键是行唯一的标识符.通常应用程序中行记录的插入顺序是按照主键递 ...

  9. 网络通信实验(1)STM32F4 以太网简介

    STM32F4 以太网简介 STM32F407 芯片自带以太网模块,该模块包括带专用 DMA 控制器的 MAC 802.3(介质访问控制)控制器,支持介质独立接口 (MII) 和简化介质独立接口 (R ...

  10. redis集群搭建及设置账户(转)

    Redis集群搭建以及为集群设置密码 介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. ...