[敏杰开发]Beta阶段测试报告

[敏杰开发]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)
posted @ 2020-06-03 20:13  敏杰开发  阅读(193)  评论(5编辑  收藏  举报