1. 在测试过程中发现了多少Bug?

    • 测试阶段发现并已修复的bug:

    • 尚且存在,但是难以解决或者不影响使用的bug:

      • 计算重修课程的时候,如果重修课程的课程号和原课程号不同,则GPA计算会出现误差。但我们无法验证两门课是否存在重修关系。
      • 发布课程评价时,可能会出现评价页面没有显示自己的评价,需要退出去重进才能显示的情况。
      • DDL推送功能需要后台保持程序在线才能提醒,是因为我们使用的推送框架是收费才能离线提醒,而我们使用了免费版。
  2. 你是怎么进行场景测试(scenario testing)的?包括你预期不同的用户会怎样使用你的软件?他们有什么需求和目标?你的软件提供的功能怎么组合起来满足他们的需要?

    在Alpha阶段已经提到的用户类型,此处不再提及。此处提及预期用户会如何使用我们的新功能。

    • 北航普通学生

      用户信息 用户情况
      姓名 东方仗助
      用户身份 很想了解课程评价,以及参与评价的同学
      用户动机 希望能有一个有学校开设课程信息的软件,供大家分享不同课程的口碑
      用户困难 目前市面上没有这种东西,只能靠大家在微信群口口相传
      典型场景 通过航胥来查询课程评价
    • 场景测试:东方仗助

      • 需求分析:东方仗助要选课了,但它不知道这些选修课的口碑如何,必修课也不知道要选择哪个老师,很想了解他们的评价。
      • 使用场景:东方仗助打开了航胥APP,在课程评价功能中找到了上过这门课的同学对其的评价,成功的获取到了自己想要的信息。
    • 经常忘记DDL的冒失同学

      用户信息 用户情况
      姓名 广濑康一
      用户身份 对日期和DDL不敏感的同学
      用户动机 希望能有一款产品时刻查看、提醒自己作业DDL,且无需手动导入
      用户困难 课程中心没有手机相关的适配,且电脑端访问课程中心比较麻烦
      典型场景 通过手机端直接收到了作业DDL的截止信息,立马投入工作
    • 场景测试:广濑康一

      • 需求分析:广濑康一是一名经常忘记DDL的学生,在疫情期间,所有的作业都通过课程中心发布,他经常担心自己有没有漏交作业或者忘记作业。而课程中心外网访问非常慢,还要在许多课程中一一切换,他很不愿意每次都上课程中心。
      • 使用场景:广濑康一打开了航胥APP,轻点两下,就看到了课程中心的所有DDL信息,而且,还和校历结合了起来,让他能够更加清晰的看到自己的DDL分布情况。
  3. 你是否有回归测试确保新功能的加入没有影响已有功能?请给出一到两个测试用例并解释。

    典型的回归测试用例有如下几个例子:

    • 加入了课程评价功能,会使用学生选课的课表信息。在加入这些功能之后,学生课表没有受到影响,且可以通过对应关系,直接从课表页面跳转到评价页面。
    • 加入了DDL提醒功能和校历功能,会使用学生的DDL信息,加入之后,学生可以在校历页面看到自己的DDL,且原有功能不受影响。
  4. 给出你的测试矩阵(test matrix),也即在什么样的平台、硬件配置、浏览器类型……上对你的软件进行测试?

    • 测试覆盖率

      前端测试主要依赖邀请身边的同学进行测试来进行,后端使用了单元测试,总覆盖率达到了88%。

    • 测试矩阵

      我们使用了几台主流的安卓机型进行测试,测试矩阵如下。

    测试机型 Android版本号 登录功能 Alpha版本各项功能 校历功能 空教室查询功能 课程评价搜索功能 课程评价功能
    小米 Max 2 7.1.1 正常 正常 正常 正常 正常 正常
    小米 8 8.1.0 正常 正常 正常 正常 正常 正常
    红米 K20 Pro 10 正常 正常 正常 正常 正常 正常
    OPPO R11 Plus 7.1.1 正常 正常 正常 正常 正常 正常
    魅族 16th 8.1.0 正常 正常 正常 正常 正常 正常
    华为 Honor 9 9 正常 正常 正常 正常 正常 正常
    • 压力测试

      在我们的服务器中,大多数操作为并行转串行操作,通过维护消息队列使得任务有序进行。这样虽然使得课表信息获取较慢,但是起到了维护服务器稳定的作用。

      我们此处主要对前端同时登录的用户数进行了压力测试,结果如下:

    同时登陆用户数 服务器状态
    6 正常
    10 偶尔出现连不上教务
    15 稳定出现一两个连不上教务

    此处出现的连不上教务的情况,我们判断可能是服务器的出口带宽已经到达限制,也有可能是给了教务服务器过大的压力,但考虑到总用户数只有百人级别,所以并没有很大的影响。这部分登录失败的同学会收到正常的错误提示,只需错开登录高峰期,即可成功登陆。

  5. 你的软件Beta版本的出口条件(exit criteria)是什么?也即在什么条件下,认定你的软件已经足够好,可以发布Beta版本?

    • 兼容性:对于几乎所有Android机型和主流版本都能够实现兼容。

      我们的产品目前已针对竖屏分辨率进行了适配,在竖屏机器上使用时不会产生显示问题。兼容性方面可以认为已经达到了出口标准。

    • 易用性:按钮功能明确,功能入口醒目,弹窗提示易懂。

      目前我们的功能比较简单,对每个功能也有较为清楚的文字说明。在出现可能让用户迷惑的现象时,我们也有响应的文字进行说明,没有误导性按钮和操作,可以认为达到了出口标准。

    • 稳定性:所有功能都能正常运行,进行常规操作时几乎不出现运行时Bug。

      在我们对机型的大量测试中,闪退和崩溃的问题没有出现,测试过程中出现的bug也一一修复。可以认为达到了出口标准。

    • 及时性:后端能及时更新学生的信息变化,并反馈给前端。

      学生的信息变化更新的及时性受制于服务器性能限制和教务平台的网络限制。我们没有办法做到非常及时,只能保证在一天之内能够更新所有同学的信息一次。这里可以认为达到了出口标准。

[软工顶级理解组] Beta阶段测试报告的更多相关文章

  1. [软工顶级理解组] Alpha阶段测试报告

    [软工顶级理解组] Alpha阶段测试报告 在测试过程中发现了多少Bug? 测试阶段发现并已修复的bug: 尚且存在,但是难以解决或者不影响使用的bug: 计算重修课程的时候,如果重修课程的课程号和原 ...

  2. [软工顶级理解组] Beta阶段事后分析

    目录 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 质量提高 会议截图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰 ...

  3. [软工顶级理解组] Beta阶段项目展示

    目录 团队成员 软件介绍 项目简介 预期典型用户 功能描述 预期目标用户数 用户反馈 团队管理 分工协作 项目管理 取舍平衡 代码管理 程序测试 代码规范 文档撰写 继续开发指导性 用户沟通 需求分析 ...

  4. [软工顶级理解组] Beta阶段团队贡献分评分

    贡献分评分依据 下述表格适用于前端.后端.爬虫开发者的评分,在此基础上进行增减. 类别 程度 加减分 准时性 提前完成 +0 按时完成 +0 延后完成,迟交时间一天内或未延误进度 -2 延后完成,迟交 ...

  5. [软工顶级理解组] Alpha阶段项目展示

    目录 团队成员 软件介绍 项目简介 预期典型用户 功能描述 预期目标用户数 用户反馈 团队管理 分工协作 项目管理 取舍平衡 代码管理 程序测试 代码规范 文档撰写 继续开发指导性 用户沟通 需求分析 ...

  6. [软工顶级理解组] Alpha阶段事后分析

    目录 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 质量提高 会议截图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰 ...

  7. [软工顶级理解组] Alpha阶段团队贡献分评分

    评分总表 下述表格适用于前端.后端.爬虫开发者的评分,基础分数为50分,在此基础上进行增减. 类别 程度 加减分 准时性 提前完成 +0 按时完成 +0 延后完成,迟交时间一天内或未延误进度 -2 延 ...

  8. [敏捷软工团队博客]Beta阶段测试报告

    项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 Beta阶段测试报告 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 对Bet ...

  9. [软工顶级理解组] 团队规划和任务拆解(Beta)

    目录 需求再分析 功能增减 管理改进 任务分解 人员管理 需求再分析 在Alpha阶段,我们的产品得到了用户的广泛好评,但是还是存在一些问题. 登录不稳定,登录速度慢等问题:这是北航VPN本身的不稳定 ...

随机推荐

  1. GoLang设计模式04 - 单例模式

    单例模式恐怕是最为人熟知的一种设计模式了.它同样也是创建型模式的一种.当某个struct只允许有一个实例的时候,我们会用到这种设计模式.这个struct的唯一的实例被称为单例对象.下面是需要创建单例对 ...

  2. 痞子衡嵌入式:在MDK开发环境下将关键函数重定向到RAM中执行的几种方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在MDK开发环境下将关键函数重定向到RAM中执行的几种方法. 这个关键函数重定向到 RAM 中执行系列文章,痞子衡已经写过 <IA ...

  3. container of()函数简介

    在linux 内核编程中,会经常见到一个宏函数container_of(ptr,type,member), 但是当你通过追踪源码时,像我们这样的一般人就会绝望了(这一堆都是什么呀? 函数还可以这样定义 ...

  4. JS006. 详解自执行函数原理与数据类型的快速转换 (声明语句、表达式、运算符剖析)

    今天的主角: Operator Description 一元正值符 " + "(MDN) 一元运算符, 如果操作数在之前不是number,试图将其转换为number. 圆括号运算符 ...

  5. 从零开始学习SQL SERVER(2)--- 基本操作及语句

    声明:仅为本人随笔及经验之谈,有错误敬请指出. # 后的文字为注释 Microsoft SQL Server Management Studio 中的SQL命令 添加数据库 1 CREATE DATA ...

  6. 机器学习——softmax回归

    softmax回归 前面介绍了线性回归模型适用于输出为连续值的情景.在另一类情景中,模型输出可以是一个像图像类别这样的离散值.对于这样的离散值预测问题,我们可以使用诸如 softmax 回归在内的分类 ...

  7. Webpack的配置项

    Webpack配置选项 ​ 经历了考研以后,接下来的时间里准备捡起来这些以前学的东西,并且继续向着前端的方向出发,给自己多一条路的选择.话不多说,直接开始. moudule.exports = { / ...

  8. 如何写出安全又可靠的PHP脚本

    前言 咔咔目前所做的项目是一个saas系统,在开发新功能之后,需要为用户角色添加相应的权限,这时整个系统的所有用户都需要添加相应的权限. 因为以前系统的缺陷现在只能用脚本来处理这些工作,所以接下来咔咔 ...

  9. 03 依赖注入--01控制反转、IoC模式

    控制反转Inversion of Control DI和IoC几乎都是成对出现的,我们在理解依赖注入之前首先要弄明白什么是IoC,也就是控制反转,体现的就是控制权的转移,即控制权原来在A中,现在需要B ...

  10. C#实例:datagridview单元格合并

    这是替C#微信交流群群友做的一个小实例,目的就是在datagridview选择对应行以后,点击button后获取对应行的ip,并执行相应的操作,其实我觉得这样的话button没必要非放置到datagr ...