[敏杰开发]Beta阶段测试报告
这是一篇软工课程博客
项目 | 内容 |
---|---|
课程:北航-2020-春-软件工程 | 博客园班级博客 |
作业要求 | Beta阶段测试报告 |
我们在这个课程的目标是 | 测试项目 |
这个作业在哪个具体方面帮助我们实现目标 | 制定测试规则,总结测试结果 |
关于本组 | 【敏杰开发团队介绍】 |
关于选题 | 【知识路书项目介绍】 |
一、测试计划
测试时间
2020年5月29日至2020年6月4日
测试矩阵
矩阵项 | |
---|---|
平台 | PC端或MAC端web浏览器 |
硬件 | PC端或MAC端 |
浏览器类型 | 主流web浏览器:Chrome、Safari |
测试规划
- 2020年5月29日 至 2020年6月2日单元测试:前后端分离测试、组件测试、单元测试
- 2020年6月3日 至 2020年6月4日场景测试:前后端合并、整体测试
Beta版本出口条件
- 后端api工作正确
- 前端各组件正常工作
- 链接跳转正常
- 无明显错误
- 发现的已知bug解决完成,无法修复的bug进行记录写入文档
二、测试过程
单元测试
分组 | 姓名 | 任务 | 发现bug | bug是否已修复 | 是否通过测试 |
---|---|---|---|---|---|
前端 | ljy | 引入tag标签 | tag标签与后端对接有误,未正确使用后端api | 是 | 是 |
- | 批量导出bibtex | 无 | 是 | ||
- | 文献阅读计划:已读 未读 | 应该有已读、未读、进行中三个状态 | 是 | 是 | |
- | 面包屑改进crumb+动态路由 | 层级有误 | 是 | 是 | |
- | 随笔编辑器 | 无 | 是 | ||
- | yzn | 路书管理的卡片布局 | 在firefox浏览器上的适配问题 | 否 | 是 |
- | 卡片布局 | 无 | 是 | ||
- | 卡片布局浮窗显示 | 在google浏览器上适配问题 | 是 | 是 | |
- | zwx | 拖拽方式添加节点 | 无 | 是 | |
- | alias解决过长的文献名 | 无 | 是 | ||
- | 随笔相关 | 随笔编辑器api未更新 | 是 | 是 | |
- | ym | 批量导出bibtex | 无 | 是 | |
- | 多选与删除 | 无 | 是 | ||
- | 引入filter | api未更新 | 是 | 是 | |
- | cc | 曲线连接 | 文献节点的曲线连接不保存 | 是 | 是 |
- | 用户自定义结点颜色 | 无 | 是 | 是 |
场景测试
-
常见场景一:登陆
- 未登录的用户进入网站,自动跳转至登陆界面
- 输入用户名密码,点击登录按钮,登录成功后自动跳转至文献管理页面
-
常见场景二:文献管理
- 登录状态下,点击
文献管理
,进入文献管理界面 - 通过bibtex批量添加文献
- 创建错误可以点击
修改
,想要删除可以点击删除
- 可以点击阅读状态来记录自己的阅读情况
- 登录状态下,点击
-
常见场景三:路书管理
- 登录状态下,点击导航栏的
路书管理
,跳转至路书管理界面 - 可以选择卡片管理和表格管理
- 如已有路书,可以点击
查看
进入路书阅览器,点击修改
进入路书编辑起,点击删除
进行删除
- 登录状态下,点击导航栏的
-
常见场景四:路书编辑
- 登录状态下,在路书管理界面点击
新建路书
或点击已有路书的编辑
,进入路书编辑界面 - 用户可以点击
标题
和描述
旁边的修改图标
修改标题或修改描述 - 拖动左侧文献列表或随笔列表中元素进入编辑面板中
- 可以点击右侧工具栏中的按钮或使用快捷键进行添加节点和添加连接
- 可以拖动节点或连边来改变路书中元素的布局
- 编辑结束后,点击右侧工具栏的
Save Roadmap
按钮或使用键盘快捷键保存
- 登录状态下,在路书管理界面点击
-
常见场景五:随笔编辑
- 在路书编辑器中点击添加随笔/修改随笔,进入随笔编辑器
- 或在随笔列表界面点击新建随笔进入随笔编辑器
- 通过markdown编辑随笔,点击保存可保存
- 可以在随笔编辑界面选择关联的路书,之后可以在阅览随笔时分屏显示出该路书
-
常见场景六:路书阅览/随笔阅览
- 登录状态下,在路书管理界面点击已有路书的
查看
,进入路书阅览界面 - 在路书编辑界面,可以通过点击右侧的
Read Only
按钮切换到阅览界面 - 在随笔管理界面点击查看进入随笔阅览界面,若该随笔有绑定的路书将分屏显示对应的路书
- 登录状态下,在路书管理界面点击已有路书的
场景 | 测试是否通过 |
---|---|
场景一 | 通过 |
场景二 | 通过 |
场景三 | 通过 |
场景四 | 通过 |
场景五 | 通过 |
场景六 | 通过 |
三、测试结果
发现多少个bug
序号 | bug描述 | 是否解决 |
---|---|---|
1 | tag标签与后端对接有误,未正确使用后端api | 是 |
2 | 文献阅读计划:已读,未读。应该有已读、未读、进行中三个状态 | 是 |
3 | 面包屑改进crumb+动态路由:层级有误 | 是 |
4 | 路书管理的卡片布局,在firefox浏览器上的适配问题 | 是 |
5 | 卡片布局浮窗显示,在google浏览器上适配问题 | 是 |
6 | 随笔相关,随笔编辑器api未更新 | 是 |
7 | 引入filter,api未更新 | 是 |
8 | 曲线连接,文献节点的曲线连接不保存 | 是 |
四、后端测试
由于后端我们采用的是一整套规定好的Restful api, 因此对于api的每一个数据请求的方式, 都可以使用现代化的单元测试工具来进行。
在后端的测试中, 我们使用django rest测试框架来编写单元测试, 使用coverage工具来检测代码分支覆盖率, 用coverage report检测测试不完善的地方, 进行补充, 最后代码覆盖率达到99%.
测试的样例代码如下
class ModelTest(APITestCase):
def setUp(self):
self.client = APIClient()
data = {
"password": "minjie",
"username": "zzy"
}
response = self.client.post("/api/users/", data, format='json')
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
def test_user_model(self):
reponse = self.client.get("/api/users/", format='json')
# get token
data = {
"password": "minjie",
"username": "zzy"
}
response = self.client.post("/api/login/", data, format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
user_token = json.loads(response.content)['token']
self.client.credentials(HTTP_AUTHORIZATION='JWT ' + user_token)
reponse = self.client.get("/api/users/", format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)