【二食堂】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  二食堂很难排队  阅读(165)  评论(2编辑  收藏  举报