【二食堂】Beta - 测试报告
Beta - 测试报告
测试过程中发现的bug
Beta阶段的新bug
我们在Beta阶段的开发过程中就进行了测试,发现了许多bug。这其中后端的bug比较多,在这里我列举一些比较重要的功能性bug。
- 用户创建项目会抛出异常,没有正确获取浏览器的cookie
- 用户修改个人密码,后端无法接收到前端的输入
- 添加好友是单向的
- 无法删除好友
- 实体之间的关系在图上显示为ID,而非名称
- 在图中查找某一实体会导致其他实体丢失
- 删除某一关系会导致图中所有相同类型的关系都被删除掉
- 导入文本中文乱码
- 导出知识图谱信息的文件名无法修改
Alpha阶段没有发现的bug
- 给同一实体添加过多的关系,实体会在图中消失
Alpha阶段开发的功能比较简单,所以未发现的bug比较少一点。
场景测试
| 用户信息 | 用户情况 |
|---|---|
| 姓名 | 王亨利 |
| 用户身份 | 某高校本科学生 |
| 用户动机 | 希望期末复习时能快速地构建某门课程的知识图谱,帮助加深记忆。 |
| 用户困难 | 构建知识图谱时,手写工作量大;使用画图软件操作别扭,排版比较费时间。 |
| 软件对应功能 | 在阅读过程中实时添加实体,选择两个实体进行关系标注,可对错误的实体进行删除、修改。查看渲染生成的知识图谱,拖拽调整知识图谱结构。导出知识图谱。 |
| 预期使用场景 | 1. 王亨利登录TextMarking网站,使用已经注册号的帐号登录。 2. 王亨利从本地导入了txt文件在网站上,开始进行文本的阅读和标注。 3. 阅读完一阶段的文本,王亨利添加了许多专业术语(实体),他对这些概念之间的关系进行了一些标注(并列、从属、解释,可自定义关系)。 4. 标注完成,王亨利点击“Graph”按钮,查看到了生成的知识图谱,里面列出了所有的概念和概念之间的关系。王亨利觉得生成的图谱不够清晰,自己进行了一些手动调整(修改、删除)。 5. 王亨利下载了知识图谱的数据,在机器学习中作为数据集使用。 |
李约翰
| 用户信息 | 用户情况 |
|---|---|
| 姓名 | 李约翰 |
| 用户身份 | 某高校教师 |
| 知识层次/能力 | 专家 |
| 生活/工作 | 负责某一专业课程的授课 |
| 用户动机 | 某一年课改,准备更新原有的讲义和PPT,要在其中插入专业知识图谱。 |
| 用户困难 | 专业知识体系庞杂,构建知识图谱工作量巨大。 |
| 典型场景 | 李约翰老师找来了几位同事/学生,大家同时在应用中标注实体,可以很快完成知识图谱的构建 |
回归测试

这对Alpha阶段的代码也进行了单元测试,实现回归测试。
这里给出一个用户登录的测试用例
def test_new_user(self):
self.assertEqual(big_user.objects.count(), 0)
# 注册
response = self.client.post(
path= '/user/register/',
data=
{
'user_id': '13215',
'password': '123456',
'user_name': 'crapbag'
}
)
self.assertEqual(response.status_code, 200)
self.assertEqual(big_user.objects.count(), 1)
# 用户id已存在
response = self.client.post(
path= '/user/register/',
data=
{
'user_id': '13215',
'password': '12dda56',
'user_name': 'peeweeee'
}
)
self.assertEqual(response.status_code, 200)
response_content = json.loads(response.content)
self.assertEqual(response_content['msg'], '用户id已存在')
# 登录成功
response = self.client.post(
path= '/user/sigin/',
data=
{
'user_id': '13215',
'password': '123456'
}
)
self.assertEqual(response.status_code, 200)
response_content = json.loads(response.content)
self.assertEqual(response_content['msg'], '用户已登录')
测试用例对用户注册的几种情况进行了覆盖测试,包括用户ID已存在、用户已登录、登陆成功等集中情况。
压力测试

测试矩阵
| 页面测试 | 功能测试 | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 浏览器 | 版本 | 实体添加 | 关系添加 | 实体修改 | 关系修改 | 导入文本 | 导出数据结构 | 添加好友 | 邀请好友标注 | 修改昵称 | 修改密码 | 新建项目 | 删除项目 | 注册校验 |
| chrome | 81.0.4044.122 | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| edge | 81.0.416.64 | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| 360安全版 | 12.1.2633.0 | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| QQ(极速内核) | 70.0.3538.25 | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| 搜狗 | 8.6.3.32395 | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| firefox | 75.0 | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| IE | 11.778.18362.0 | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| 猎豹 | 6.5.115.19659.8001 | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| 360极速版(极速内核) | 12.0.1247.0 | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| UC浏览器 | 1.0.739.0 | √ | √ | √ | × | √ | √ | √ | √ | √ | √ | √ | √ | √ |
出口条件
- 可兼容市面上大多数浏览器
- 功能简洁易用,无明显bug
- 页面无错位、显示不全等bug
- 访问速度流畅
【二食堂】Beta - 测试报告的更多相关文章
- 【二食堂】Beta - 项目展示
项目展示 1. 团队介绍 二食堂很难排队 姓名 介绍 职务 刘享 热爱游戏,尤其是RPG和metrovinia类的游戏. 会C/C++, python, java. 后端 左正 一个普通的大学生,Py ...
- 【二食堂】Beta - 事后分析
事后分析 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? Beta阶段我们首先要对文本标注方式进行优化,其次时添加好友系统,实现邀请好友共同标注的功能. ...
- 【二食堂】Beta - Scrum Meeting 11
Scrum Meeting 11 例会时间:5.26 18:30~18:50 进度情况 组员 当前进度 今日任务 李健 1. 文本导入.保存部分的工作比想象中的难,还需要一些时间完成issue 1. ...
- 【二食堂】Alpha - 项目展示
项目展示 1. 团队介绍 二食堂很难排队 姓名 介绍 职务 刘享 热爱游戏,尤其是RPG和metrovinia类的游戏. 会C/C++, python, java. 后端 左正 一个普通的大学生,Py ...
- UltraSoft - Beta - 测试报告
UltraSoft - Beta - 测试报告 在测试过程中发现了多少Bug?有哪些是Beta阶段的新Bug?有哪些是Alpha阶段没有发现的Bug? 很多Bug在开发阶段就已经经过测试了,我们在Be ...
- 【二食堂】Beta - 设计和计划
Beta设计和计划 需求再分析 根据助教.老师.用户以及各个团队PM的反馈意见,我们的项目目前有以下问题: 功能不完整 实用价值不高 两方面的缺陷,所以在Beta阶段,我们工作的中心还是完成项目规划中 ...
- 【二食堂】Beta - 发布声明
Beta - 发布声明 新功能 在Beta阶段,图谱方面的新功能有:自定义关系的添加与删除.实体查找.实体名称的修改.实体之间关系的修改.新增了项目创建与删除功能,此外还增加了好友系统,可以实现好友的 ...
- 【二食堂】Beta - Scrum Meeting 10
Scrum Meeting 10 例会时间:5.25 18:30~18:50 进度情况 组员 当前进度 今日任务 李健 1. 继续文本导入.保存部分的工作issue 2. 完成了技术博客 1. 继续文 ...
- 【二食堂】Beta - Scrum Meeting 1
Scrum Meeting 1 例会时间:5.13 18:30~18:50 进度情况 组员 当前进度 今日任务 李健 1. 查阅资料,解决划词勾选和右键菜单的问题issue2. 修复了Alpha阶段的 ...
随机推荐
- Asp.net Core Jwt简单使用
.net 默认新建Api项目不需要额外从Nuget添加Microsoft.AspNetCore.Authentication.JwtBearer appsettings.json { "Lo ...
- C# Dapper基本三层架构使用 (三、DAL)
数据访问层(DAL),主要是存放对数据类的访问,即对数据库的添加.删除.修改.更新等基本操作 首先需要在UI层App.Config配置文件中增加连接字符串,如下所示 <connectionStr ...
- IDEA SpotBugs代码安全审计插件
IDEA SpotBugs代码安全审计插件 在寻找idea代码审计插件的时候,发现Findbugs已经停止更新,无法在idea2020.01版本运行,由此找到SpotBugs SpotBugs介绍 S ...
- go语言游戏服务端开发(三)——服务机制
五邑隐侠,本名关健昌,12年游戏生涯. 本教程以Go语言为例. P2P网络为服务进程间.服务进程与客户端间通信提供了便利,在这个基础上可以搭建服务. 在服务层,通信包可以通过定义协议号来确定该包怎 ...
- CORS跨域请求规则以及在Spring中的实现
CORS: 通常情况下浏览器禁止AJAX从外部获取资源,因此就衍生了CORS这一标准体系,来实现跨域请求. CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origi ...
- 无序数组求第K大的数
问题描述 无序数组求第K大的数,其中K从1开始算. 例如:[0,3,1,8,5,2]这个数组,第2大的数是5 OJ可参考:LeetCode_0215_KthLargestElementInAnArra ...
- Android View post 方法
解析View.post方法.分析一下这个方法的流程. 说起post方法,我们很容易联想到Handler的post方法,都是接收一个Runnable对象.那么这两个方法有啥不同呢? Handler的po ...
- PHP设计模式之中介者模式
上回说道,我们在外打工的经常会和一类人有很深的接触,那就是房产中介.大学毕业后马上就能在喜欢的城市买到房子的X二代不在我们的考虑范围内哈.既然需要长期的租房,那么因为工作或者生活的变动,不可避免的一两 ...
- javascript,jquery在父窗口触发子窗口(iframe)某按钮的click事件
$('iframe').contents().find(".btn").click(); 其中 contents(): 查找匹配元素内部所有的子节点(包括文本节点).如果元素是一个 ...
- Shell系列(17)- 配置文件功能(待完善)
配置文件功能 文件名 功能 相关联命令 /etc/profile USER变量 LOGNAME变量 MAIL变量 PATH变量 HOSTNAME变量 umask 调用/etc/profile.d/*. ...