【观隅】Beta阶段测试报告
测试报告
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2021学年春季软件工程(罗杰 任健) |
这个作业的要求在哪里 | 团队项目-Beta阶段测试报告 |
在这个课程的目标是 | 锻炼在软件工程中的团队协作能力 |
这个作业在哪个具体方面帮助我实现目标 | 通过团队协作真实开发出一款产品,并在软件工程的评价体系中对自己进行评价 |
单元测试
我们对后端中与数据库有关的多数接口进行了细致的单元测试,总体覆盖率达到了 96% ,具体覆盖细节如下:
对于可视化相关的接口,例如 /parse_engine/
, core/api/items.py
和 core/api/visualization.py
涉及数据集数据(不适合放在仓库中)和视觉效果的判断(需要前后端联调且需要人工判断),故未进行单元测试的覆盖。
由于观隅期望在多平台都提供良好的本地服务,因此单元测试均分别在Windows和Linux下运行通过。
压力测试
场景测试
我们按照功能规格说明书的“典型用户”与“典型场景”两节构建了常见的 \(4\) 个典型场景,进行了如下测试:
- 用户1:入门深度学习的高校学生
- 用户特征:刚刚接触深度学习,对数据集只有一个模糊的概念。
- 潜在总量:随着计算机专业和深度学习越来越热门,学习这方面的学生会越来越多,而大多数刚入门的学生,对数据集的理解存在较大障碍,需要一款数据集可视化软件来帮助理解。所以,这部分用户的潜在总量会很大。
- 市场比例:20%
- 使用环境:主要是学习场所,例如教室、宿舍、实验室。
- 动机:在入门深度学习时,往往需要对使用的数据集有直观的认识,而现有的数据集格式复杂,数据大多以数字、文本这样的形式体现,无法从现有格式中感性认识数据集,因此,需要将数据集中的信息直观表示出来。
- 困难:数据集格式多样,暂无统一软件以形象展示
- 偏好:这部分用户专业知识缺乏,无法对数据集进行专业的操作,因此需要软件便捷、易上手
- 愿意付出的代价:该类用户使用的功能比较基础,并且经济能力有限,为产品付出代价的意愿比较小。
- 典型场景:A同学,刚选了一门叫“计算机导论”的课程,就被要是要求实现xxx神经网络的训练,该同学不太理解数据集中的标注,于是打开了本软件,导入下发的标注好的数据集,本软件提供的可视化的标注信息能帮助他快速理解标注的意义,他同时可以和其他同学一起查看并共同讨论,使他更容易的理解课程内容。
- 相关功能:数据集筛选与搜索,数据集概述,数据集条目总览,数据集条目详细可视化
- 用户2:模型设计与模型优化等相关从业者
- 用户特征:从事的工作与深度学习密切相关
- 潜在用户:对工作效率要求高的从业者
- 市场比例:35%
- 使用环境:主要是在工作中使用,例如办公室、家中
- 动机:方便筛选部分数据,查看其特征 在用测试集对模型的进行测试时,常常会遇到表现不好的测试数据,需要筛选这部分的数据
- 困难:数据集的筛选清洗需要自行编写,是重复劳动
- 偏好:特定数据集中进行大量筛选,可能是非公开的
- 愿意付出的代价:企业或部门会愿意为软件或功能付费,方式可能是买断或年付
- 典型场景:B工程师,盯着训好的目标网络,再看看效果不佳的测试集,无法找出其中的原因。使用本软件,可以查看数据集中的标注情况,让他对难以完成的调优工作有了一丝思路,同时还可以可视化的与同事讲解,交流可能的问题。使他更轻松的完成工作。
- 相关功能:数据集条目交互,信息反馈,使用本地端管理和可视化数据集,管理团队成员
- 用户3:深度学习相关研究者
- 用户特征:从事的研究与深度学习密切相关
- 潜在用户:对工作效率要求高的研究者
- 市场比例:35%
- 使用环境:主要是在实验室中使用
- 动机:除了筛选数据集的功能外,研究者通常还有发论文的需求,论文中需要将实验数据、结果等信息用直观的方式表示出来,所以研究者需要方便快速的将数据信息转化成可视化的信息在论文中使用。
- 困难:数据集的筛选和需要自行编写、数据集的可视化需要自行编写,重复劳动
- 偏好:支持多种数据集类型的多种可视化模式
- 愿意付出的代价:实验室或课题组会愿意为软件或功能付费,实验室可能是买断或年付,课题组可能视课题情况而定,可能方式是按月付。
- 典型场景:C研究员,刚读完顶会的最新paper,准备复现一下实验,于是先下载了数据集,使用本软件查看数据集中的标注情况,同时保存了一些图片,为之后的组会presentation,论文中的插图做了不少准备。本软件使他更轻松的完成科研。
- 相关功能:数据集搜索,数据集条目总览,数据集条目详细可视化,使用本地端管理和可视化数据集
- 用户4:用作教学的教师
- 用户特征:课堂内容涉及数据集相关内容,需要让学生更好的理解与掌握,同时需要方便课堂讲解
- 潜在用户:越来越多的高校开设人工智能专业与课程,数据集的处理是这些课程中很重要的内容,传统的数据集形式对学生的理解与老师的讲课效果来说都是不尽人意的。
- 市场比例:10%
- 使用环境:主要是在教学中,例如课堂、讲座
- 动机:在课堂上用传统的数据集形式讲解,课堂枯燥、学生理解困难,导致课堂效果差,需要以更直观的方式讲解数据集。
- 困难:教室中设备的局限性较大
- 偏好:软件具有丰富的展示形式,可以直观反映数据集的特征等信息。
- 愿意付出的代价:课程组会愿意为软件或功能付费,可能方式是买断或年付。
- 典型场景:D讲师,为了在课堂上展示数据集的标注工作,于是打开了本软件,向同学们展示标注好的可视化数据集。使用本软件,让同学们更容易的理解数据集的标注工作,拉近了师生距离,使用本软件,让老师们更轻松的完成了教学任务。
- 相关功能:数据集浏览,数据集筛选与搜索,数据集概述,数据集条目总览,数据集条目详细可视化,数据集条目交互,信息反馈
根据有关测试,观隅已经能够较好满足以上Beta阶段的典型用户和典型场景的需求,可认为通过场景测试。
测试矩阵
我们在不同浏览器内核及版本上进行了网页端的基本功能测试,结果如下:
浏览器内核及缩放率 | 数据集浏览 | 数据集搜索与筛选 | 数据集 概述 | 数据集条目总览 | 数据集条目详细可视化 | 数据集条目交互 | 信息反馈 | 基本管理 | 首页 |
---|---|---|---|---|---|---|---|---|---|
Chromium 86 (125%) | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Chromium 86 (100%) | 显示效果一般 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Chromium 86 (150%) | 显示效果一般 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Firefox 88(125%) | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Safari(125%) | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
我们在不同操作系统上进行了部署版的基本功能测试,结果如下:
操作系统 | 数据集浏览 | 数据集搜索与筛选 | 数据集 概述 | 数据集条目总览 | 数据集条目详细可视化 | 数据集条目交互 | 信息反馈 | 基本管理 | 首页 |
---|---|---|---|---|---|---|---|---|---|
Windows 10 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Ubuntu 18.04 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Bug记录
前端
Bug说明 | 原因 | 修复方式 | 结果 |
---|---|---|---|
标签不能正常显示,突破了卡片范围 | CSS错误 | 修改了相关CSS | 已修复 |
更新数据集时标签显示不正确 | 没有理解React的渲染机制 | 修改了代码逻辑以适应React的渲染策略 | 已修复 |
用户登录后,菜单栏管理中心仍不可用 | 使用静态配置列表的方式设置菜单栏各栏目,map映射后的ReactDOM元素的display属性是固定的 | 直接在render中添加各栏目元素 | 登陆后可及时响应状态变化 |
后端接口格式更新时,前端将显示白屏 | 使用Typescript类型强校验时,如果接口数据与定义的类型数据不同将引发断言错误 | 使用any或增加判断逻辑 | 隐藏了不应显示的页面 |
数据集数据列表页没有点击提示,用户不知道可以查看详细数据集 | 没有从人机交互的角度增加提示 | 添加鼠标指针与移入动画,使数据详情查看更加明显 | 用户体验有所改善 |
反馈页面、管理页面未限制输入 | 虽然后端限制了输入,但前端最好增加限制与提示 | 添加数据校验、字数限制等 | 问题修复 |
后端
Bug说明 | 原因 | 修复方式 | 结果 |
---|---|---|---|
普通用户无法正确使用标签进行数据集筛选 | 错误地对某接口的用户权限进行了限制 | 取消了有关限制 | 已修复 |
本地部署版本无法启动 | 命令配置不正确 | 更改了有关命令 | 已修复 |
更新实体时未对重名进行检测 | 代码的条件判断分支存在疏漏 | 增加了对应的条件判断分支 | 已修复 |
某接口中没有返回数据集的概要信息 | 数据集的序列化器存在遗漏 | 增加了序列化器的对应域 | 已修复 |
增加数据集时必须需要标签 | 对Django的多对多关系理解不清 | 对Django的数据集模型表进行了限制 | 已修复 |
出口条件
- 系统功能:完成功能规格说明书的"系统功能及验收标准"一节中的所有功能,并达到验收标准
模块 | 功能 | 验收标准 |
---|---|---|
用户系统 | 实现用户系统和对应的权限管理 | 1. 用户可以注册、登录 2. 用户可以创建用户组 3. 用户可以在用户组内为其他用户设置相应的权限 |
数据集类型拓展 | 将数据集类型拓展到文本、音频等数据集上 | 1. 可以对文本数据集进行可视化展示 2. 可以对音频数据集进行可视化展示 |
本地部署端 | 使得用户可以在本地部署端进行数据集可视化的查看,上传 | 1. 提供可以安装的本地部署端 2. 用户可以上传自己的数据集并对其进行可视化 |
数据集及其条目筛选 | 使得用户可以通过标签、内容等方式对数据集和其中的条目进行筛选 | 1. 为数据集设置相应的标签,并提供根据标签筛选的功能 2. 可以根据数据集条目的内容进行筛选 3. 可以组合数据集条目的内容满足的条件,进行复杂地筛选 |
可视化页面提供数据和可视化的对应 | 使用户可以在可视化界面直观地看到数据和可视化图片的对应关系 | 1. 提供数据和可视化图片的对应关系 |
视觉效果优化 | 提供更好的首页展示效果 | 1. 提供一个有良好视觉效果的首页,对项目进行介绍 |
- 系统性能:数据集概要等界面跳转流畅,数据集条目加载与渲染等功能耗时不过长
- 在真实测试中不出现以下严重Bug(出自技术规格说明书的“真实测试”一节):
- 频繁的或不知原因的崩溃(包括但不限于闪退、操作系统卡死等)
- 有歧义的文字、图标、按钮、提示信息或乱码
- 不正常加载的页面(包括但不限于CSS崩坏、缩放比例不正常等)
- 错误显示的信息(与团队预期不符)
- 无效或无响应的按钮、链接等
根据以上测试,可认为目前观隅已达到Beta版本的出口条件,故进行发布。