zoukankan      html  css  js  c++  java
  • 基于百词斩和扇贝单词的背单词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向用户提供其他材料,使用背单词以外的方式使用户达到学习的目的。

    百词斩的学习模块包括

    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%

  • 相关阅读:
    yii2.0数据库查询修改等方法
    yii2.0里自己写的源码上传图片
    解决yii2.0里url重写引用js路径问题(@web/的用法)
    yii2.0中解决post的400错误
    yii2.0用gii自动补全代码做的简单增删改查,以及图片上传和展示
    yii2.0中url重写实现方法
    (转)openssl 命令: openssl req 命令详解
    Nodejs搭建音视频通信-信令服务器 总结
    【转】阿里架构总监一次讲透中台架构,13页PPT精华详解
    (转)SSL工作原理
  • 原文地址:https://www.cnblogs.com/DM-Star/p/8919260.html
Copyright © 2011-2022 走看看