[软工顶级理解组] Alpha阶段测试报告
[软工顶级理解组] Alpha阶段测试报告
在测试过程中发现了多少Bug?
测试阶段发现并已修复的bug:
尚且存在,但是难以解决或者不影响使用的bug:
- 计算重修课程的时候,如果重修课程的课程号和原课程号不同,则GPA计算会出现问题。但我们无法验证两门课是否存在重修关系。
- 可能会出现“服务器错误”,99.99%是教务抽风。
- 登录账号后,用户会需要一段时间才能看到自己的数据。最快在1分钟左右可以看到,最慢可以很长时间。这主要是受到爬虫的速度限制。但是用户的数据一旦在后端数据库中有所缓存,之后的查询速度将非常快。
- 课程中心DDL的作业状态做不到实时更新,见谅。
你是怎么进行场景测试(scenario testing)的?包括你预期不同的用户会怎样使用你的软件?他们有什么需求和目标?你的软件提供的功能怎么组合起来满足他们的需要?
以下是针对《功能规格说明书》中提到的几类典型用户,所进行的针对性场景测试。
北航普通学生
用户信息 用户情况 姓名 吉良吉影 用户身份 北航一位普普通通的学生党 用户动机 希望能有一个美观、迅速且无需手动导入的软件来查询课表、空教室、成绩等信息 用户困难 教务系统需要电脑操作,且界面透露出过时的气息,手机端的北航小程序运行速度慢 典型场景 通过手机查询自己的课表等信息 用户比例 40% - 场景测试:吉良吉影
- 需求分析:吉良吉影是一名普通的学生党。这天晚上睡觉前,他对自己明天要上的课程记不太清了,想要查一查自己的课表,从而为明天的生活做好准备。
- 使用场景:吉良吉影打开了航胥APP,主页上赫然写着他的课表信息。他只花了1秒钟,就看完了自己明天要上的课程信息,心满意足的放下手机睡觉了。
经常忘记DDL的冒失同学
用户信息 用户情况 姓名 广濑康一 用户身份 经常忘记课程中心作业截止时间的同学 用户动机 希望能有一款产品时刻查看、提醒自己作业DDL,且无需手动导入 用户困难 课程中心没有手机相关的适配,且电脑端访问课程中心比较麻烦 典型场景 通过手机端直接收到了作业DDL的截止信息,立马投入工作 用户比例 40% - 场景测试:广濑康一
- 需求分析:广濑康一是一名经常忘记DDL的学生,在疫情期间,所有的作业都通过课程中心发布,他经常担心自己有没有漏交作业或者忘记作业。而课程中心外网访问非常慢,还要在许多课程中一一切换,他很不愿意每次都上课程中心。
- 使用场景:广濑康一打开了航胥APP,轻点两下,就看到了课程中心的所有DDL信息,且未完成的作业会优先显示在前,还写着“距离截止还有xx天”,非常贴心。
对定制化有要求的同学
用户信息 用户情况 姓名 岸边露伴 用户身份 对软件的自定义有一定偏好的同学 用户动机 希望教务软件能够按照自己的需求进行一定的定制 用户困难 课程中心没有手机相关的适配,且电脑端访问课程中心比较麻烦 典型场景 上课周将主界面设置为课表,考试周结束后将主界面自定义为成绩 用户比例 20% - 场景测试:岸边露伴
- 需求分析:岸边露伴对软件的自定义有所偏好。他希望软件了解自己,在想看课表的时候点进去就是课表,在想看成绩的时候点进去就是成绩,想看DDL的时候点进去就是DDL。
- 使用场景:岸边露伴使用了航胥APP个人中心的主页设置功能,想优先看什么,设置一下就好,非常称心如意,他很满足。
给出你的测试矩阵(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 稳定出现一两个连不上教务 至于出现连不上教务的问题,我们判断可能是给了教务过大的压力。这部分连不上教务的同学,会有正常的错误信息返回,只需要再次登录,错开登录高峰,即可重新登入。
你的软件Alpha版本的出口条件(exit criteria)是什么?也即在什么条件下,认定你的软件已经足够好,可以发布Alpha版本?
兼容性:对于几乎所有Android机型和主流版本都能够实现兼容。
我们的产品目前已针对竖屏分辨率进行了适配,在竖屏机器上使用时不会产生显示问题。兼容性方面可以认为已经达到了出口标准。
易用性:按钮功能明确,功能入口醒目,弹窗提示易懂。
目前我们的功能比较简单,对每个功能也有较为清楚的文字说明。在出现可能让用户迷惑的现象时,我们也有响应的文字进行说明,没有误导性按钮和操作,可以认为达到了出口标准。
稳定性:所有功能都能正常运行,进行常规操作时几乎不出现运行时Bug。
在我们对机型的大量测试中,闪退和崩溃的问题没有出现,测试过程中出现的bug也一一修复。可以认为达到了出口标准。
及时性:后端能及时更新学生的信息变化,并反馈给前端。
学生的信息变化更新的及时性受制于服务器性能限制和教务平台的网络限制。我们没有办法做到非常及时,只能保证在一天之内能够更新所有同学的信息一次。这里可以认为勉强达到了出口标准,Beta阶段可能会有进一步考虑。
[软工顶级理解组] Alpha阶段测试报告的更多相关文章
- [软工顶级理解组] Alpha阶段事后分析
目录 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 质量提高 会议截图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰 ...
- [软工顶级理解组] Alpha阶段项目展示
目录 团队成员 软件介绍 项目简介 预期典型用户 功能描述 预期目标用户数 用户反馈 团队管理 分工协作 项目管理 取舍平衡 代码管理 程序测试 代码规范 文档撰写 继续开发指导性 用户沟通 需求分析 ...
- [软工顶级理解组] Beta阶段测试报告
在测试过程中发现了多少Bug? 测试阶段发现并已修复的bug: 尚且存在,但是难以解决或者不影响使用的bug: 计算重修课程的时候,如果重修课程的课程号和原课程号不同,则GPA计算会出现误差.但我们无 ...
- [软工顶级理解组] Alpha阶段团队贡献分评分
评分总表 下述表格适用于前端.后端.爬虫开发者的评分,基础分数为50分,在此基础上进行增减. 类别 程度 加减分 准时性 提前完成 +0 按时完成 +0 延后完成,迟交时间一天内或未延误进度 -2 延 ...
- [软工顶级理解组] Beta阶段事后分析
目录 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 质量提高 会议截图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰 ...
- [软工顶级理解组] Beta阶段项目展示
目录 团队成员 软件介绍 项目简介 预期典型用户 功能描述 预期目标用户数 用户反馈 团队管理 分工协作 项目管理 取舍平衡 代码管理 程序测试 代码规范 文档撰写 继续开发指导性 用户沟通 需求分析 ...
- [软工顶级理解组] Beta阶段团队贡献分评分
贡献分评分依据 下述表格适用于前端.后端.爬虫开发者的评分,在此基础上进行增减. 类别 程度 加减分 准时性 提前完成 +0 按时完成 +0 延后完成,迟交时间一天内或未延误进度 -2 延后完成,迟交 ...
- [软工顶级理解组] 团队任务拆解(Alpha)
一.任务概述 在alpha阶段,我们需要完成功能规格说明书中所提到的所有功能,在一个阶段的开发周期内,交付最小可行的可用版本. 二.任务分配及时长 分组&成员 具体任务 预计时长(小时) 前端 ...
- [软工顶级理解组] 团队规划和任务拆解(Beta)
目录 需求再分析 功能增减 管理改进 任务分解 人员管理 需求再分析 在Alpha阶段,我们的产品得到了用户的广泛好评,但是还是存在一些问题. 登录不稳定,登录速度慢等问题:这是北航VPN本身的不稳定 ...
随机推荐
- 20210805 noip31
考场 没有一眼题 T1 想到先贪心地算出最大得分,任意构造出一种方案,不断调整以增大字典序. T2 发现在 \(x_k\) 确定的情况下操作次数就是左右两边的逆序对数,\(x_i\) 互不相同时直接找 ...
- input 只可以输入时分秒
在html5的time中,只有时.分,没有秒. 例如<input type="time" name="user_date" /> 属性加上 step ...
- shell编程之条件语句
目录: 一.条件测试 1.test命令测试 2.文件测试 3.字符串比较 4.逻辑测试 二.if语句 1.if单分支语句 2.if双分支语句 3.if多分支语句 三.case语句 case多分支语句 ...
- prometheus从零开始
本次的想法是做服务监控 并告警 主要线路如下图所示 1.运行prometheus docker方式 docker run -itd \ -p 9090:9090 \ -v /opt/prometh ...
- Grid 网格布局详解
Grid网格布局详解: Grid布局与Flex布局有着一定的相似性,Grid布局是将容器划分成行和列,产生单元格,可以看做是二维布局. 基本概念: 采用网格布局的区域,称为"容器" ...
- Vue3的其他属性和API函数
customRef() 自定义Ref函数实现Ref()的相关功能 1 <script> 2 import { ref customRef} from 'vue' 3 4 function ...
- html 表单input disabled属性提交后台无法获得数据
在input上加入disabled属性后, 点击提交会遗漏该值, 有两个办法: 一 可以考虑readonly属性,一样的不可修改操作,但是可以提交 二 在提交时 js 代码操作去除input上的dis ...
- springboot 配置 application.properties相关
springboot 有读取外部配置文件的方法,如下优先级: 第一种是在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下.第二种是直接把配置文件放到jar包的同级目录.第三 ...
- 对象继承深入、call_apply、圣杯模式、构造函数和闭包,企业模块化
一个实现加减乘除的插件: 原型其实是在构造函数之上的,构造函数变成实例化函数的时候才会有原型, 原型实际上是构造函数的一个属性 原型无非就是2个字:继承 原型中继承父类所有方法是很不合理的,因为没 ...
- P5012-水の数列【并查集,RMQ】
正题 题目链接:https://www.luogu.com.cn/problem/P5012 题目大意 \(n\)个数字的一个序列,\(T\)次询问给出\([l,r]\)要求 找出一个最大的\(x\) ...