【二食堂】Beta - 测试报告

Beta - 测试报告

测试过程中发现的bug

  1. Beta阶段的新bug

    我们在Beta阶段的开发过程中就进行了测试,发现了许多bug。这其中后端的bug比较多,在这里我列举一些比较重要的功能性bug。

    • 用户创建项目会抛出异常,没有正确获取浏览器的cookie
    • 用户修改个人密码,后端无法接收到前端的输入
    • 添加好友是单向的
    • 无法删除好友
    • 实体之间的关系在图上显示为ID,而非名称
    • 在图中查找某一实体会导致其他实体丢失
    • 删除某一关系会导致图中所有相同类型的关系都被删除掉
    • 导入文本中文乱码
    • 导出知识图谱信息的文件名无法修改
  2. 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
  • 访问速度流畅
posted @ 2020-06-03 21:50  二食堂很难排队  阅读(192)  评论(2)    收藏  举报