[敏杰开发]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)

最新文章

  1. ECLIPSE/JAVAWEB (二)三大框架之Hibernate框架 持续更新中...
  2. WPF捕获未处理的异常
  3. MMORPG大型游戏设计与开发(客户端架构)
  4. 用etckeeper来解救运维工程师
  5. oracle安装过程中遇到的问题
  6. [原]Unity3D深入浅出 - 物理材质(Physics Materials)
  7. Windows 已在 DImageProcess.exe 中触发一个断点。
  8. 使用html5中video自定义播放器必备知识点总结以及JS全屏API介绍
  9. 四个常用.NET的SqlHelper的方法
  10. 屏蔽鼠标右键功能JS
  11. [ACM] POJ 2342 Anniversary party (树DP获得冠军)
  12. 语句 if else
  13. Java程序只运行一个实例[转]
  14. RHEL6.4安装nginx
  15. 菜鸟入门【ASP.NET Core】14:MVC开发:UI、 EF + Identity实现、注册实现、登陆实现
  16. 【2018.05.11 智能驾驶/汽车电子】非技术向:关于Simulink和AutoSar的几种观点
  17. [svc]unix和cpu发展历史
  18. 003-SqlHelper.cs/Web.config
  19. UIView 添加闪烁的渐变光
  20. [LeetCode&Python] Problem 832. Flipping an Image

热门文章

  1. POJ2635(数论+欧拉筛+大数除法)
  2. 攻防世界 reverse xx
  3. 攻防世界 reverse serial-150
  4. python函数之有参装饰器
  5. 爬虫-使用BeautifulSoup4(bs4)解析html数据
  6. 隐藏页面元素 css
  7. PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) 凌宸1642
  8. ECharts使用指南
  9. Dynamics CRM存放选项集记录的表
  10. C语言-字符串函数的实现(五)之strstr