[软工*理解组] Alpha阶段测试报告

时间:2023-03-10 01:06:11
[软工*理解组] Alpha阶段测试报告

[软工*理解组] Alpha阶段测试报告

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

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

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

      • 计算重修课程的时候,如果重修课程的课程号和原课程号不同,则GPA计算会出现问题。但我们无法验证两门课是否存在重修关系。
      • 可能会出现“服务器错误”,99.99%是教务抽风。
      • 登录账号后,用户会需要一段时间才能看到自己的数据。最快在1分钟左右可以看到,最慢可以很长时间。这主要是受到爬虫的速度限制。但是用户的数据一旦在后端数据库中有所缓存,之后的查询速度将非常快。
      • 课程中心DDL的作业状态做不到实时更新,见谅。
  2. 你是怎么进行场景测试(scenario testing)的?包括你预期不同的用户会怎样使用你的软件?他们有什么需求和目标?你的软件提供的功能怎么组合起来满足他们的需要?

    以下是针对《功能规格说明书》中提到的几类典型用户,所进行的针对性场景测试。

    • 北航普通学生

      用户信息 用户情况
      姓名 吉良吉影
      用户身份 北航一位普普通通的学生党
      用户动机 希望能有一个美观、迅速且无需手动导入的软件来查询课表、空教室、成绩等信息
      用户困难 教务系统需要电脑操作,且界面透露出过时的气息,手机端的北航小程序运行速度慢
      典型场景 通过手机查询自己的课表等信息
      用户比例 40%
      • 场景测试:吉良吉影
      • 需求分析:吉良吉影是一名普通的学生党。这天晚上睡觉前,他对自己明天要上的课程记不太清了,想要查一查自己的课表,从而为明天的生活做好准备。
      • 使用场景:吉良吉影打开了航胥APP,主页上赫然写着他的课表信息。他只花了1秒钟,就看完了自己明天要上的课程信息,心满意足的放下手机睡觉了。
    • 经常忘记DDL的冒失同学

      用户信息 用户情况
      姓名 广濑康一
      用户身份 经常忘记课程中心作业截止时间的同学
      用户动机 希望能有一款产品时刻查看、提醒自己作业DDL,且无需手动导入
      用户困难 课程中心没有手机相关的适配,且电脑端访问课程中心比较麻烦
      典型场景 通过手机端直接收到了作业DDL的截止信息,立马投入工作
      用户比例 40%
      • 场景测试:广濑康一
      • 需求分析:广濑康一是一名经常忘记DDL的学生,在疫情期间,所有的作业都通过课程中心发布,他经常担心自己有没有漏交作业或者忘记作业。而课程中心外网访问非常慢,还要在许多课程中一一切换,他很不愿意每次都上课程中心。
      • 使用场景:广濑康一打开了航胥APP,轻点两下,就看到了课程中心的所有DDL信息,且未完成的作业会优先显示在前,还写着“距离截止还有xx天”,非常贴心。
    • 对定制化有要求的同学

      用户信息 用户情况
      姓名 岸边露伴
      用户身份 对软件的自定义有一定偏好的同学
      用户动机 希望教务软件能够按照自己的需求进行一定的定制
      用户困难 课程中心没有手机相关的适配,且电脑端访问课程中心比较麻烦
      典型场景 上课周将主界面设置为课表,考试周结束后将主界面自定义为成绩
      用户比例 20%
      • 场景测试:岸边露伴
      • 需求分析:岸边露伴对软件的自定义有所偏好。他希望软件了解自己,在想看课表的时候点进去就是课表,在想看成绩的时候点进去就是成绩,想看DDL的时候点进去就是DDL。
      • 使用场景:岸边露伴使用了航胥APP个人中心的主页设置功能,想优先看什么,设置一下就好,非常称心如意,他很满足。
  3. 给出你的测试矩阵(test matrix),也即在什么样的平台、硬件配置、浏览器类型……上对你的软件进行测试?

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

    测试机型 Android版本号 登录功能 个人中心功能 课程中心功能 空教室查询功能 成绩查询功能 课表查询功能 版本更新功能
    小米 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 正常 正常 正常 正常 正常 正常 正常

    同时,我们对程序的“登录”功能进行了压力测试,进行了定性的分析,结果如下:

    同时登陆用户数 服务器状态
    2 正常
    4 较大延迟
    6 连接不上服务器

    压力测试的结果让我们感到非常难受,一时间也没有想到很好的解决方案。

    在发布阶段即将到来时,有大佬为我们提供了简单的技术栈指引帮助,我们根据他的指导,更改了后端发送登录请求所使用的工具,由爬虫更改为直接向教务VPN发送登录的POST表单。此举大大提升了我们的运行速度,解放了后端服务器的内存。

    此为之后的压力测试,因为要使用不同的账号进行登录,所以用户数并不算很大。实际使用中,因为所有用户只需要登录一次即可保存信息,所以也没有进行更大的测试的必要。

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

    至于出现连不上教务的问题,我们判断可能是给了教务过大的压力。这部分连不上教务的同学,会有正常的错误信息返回,只需要再次登录,错开登录高峰,即可重新登入。

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

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

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

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

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

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

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

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

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