• [Gamma阶段]测试报告


    [Gamma阶段]测试报告

    博客目录

    测试方法及过程

    在正式发布前,为检验后端各接口功能的正确性,后端服务器对压力的耐受程度,以及前端各页面、功能的运行情况,我们对我们的服务器及小程序进行了多种测试。除去随开发进行的基本正确性测试外,针对上述三种情形,我们分别进行了单元测试、压力测试以及功能测试。

    单元测试

    单元测试的主要目的,是测试后端所有接口的工作是否正常。其内容主要包含两方面:
    - 接口在正常情况下是否能发挥预期功能
    - 接口在异常情况下是否能返回预期错误信息

    Gamma阶段的所有单元测试与Alpha、Beta阶段相同,在pycharm下使用Coverage工具进行测试。经过修改后已经通过了所有单元测试。

    在Gamma阶段,我们依旧针对每一个接口都设计了相应的单元测试。现在,三个阶段单元测试的总数高达203个

    在运行完所有单元测试后,单元测试的代码覆盖率高达96%,切实确保了所有接口的正确性。

    单元测试中发现的bug如下:

    后端单元测试Bug汇总

    接口 现象 原因 是否解决
    /mcm/invite/<int:user_id>/ 调用接口时返回错误码500 数据库操作时搜索的键名错误
    /mcm/invitations/send/ 后端返回的邀请信息全是自己的信息,实际上应为被邀请者的信息 对数据库搜索到的数据进行的索引错误
    /mcm/accept/<int:invitation_id>/ 同意后未加入队伍 更新数据库是未进行保存
    /mcm/quit/ 用户退出队伍后未成为单人队伍的队长 未更新用户身份字段
    /mcm/accept/<int:invitation_id>/ 邀请同意后被邀请者仍能在邀请列表里看见 未对被邀请者可见的邀请信息进行过滤
    /mcm/invite/<int:user_id>/ 能够邀请队友 发出邀请是应过滤现有队友
    /my/profile/modify/ 无法修改个人资料 account超出最大长度限制
    /mcm/search/user/ 返回的user_id不正确 返回的user_id为整数,应改为string类型
    /mcm/match/ 返回的推荐用户中包含自己 没有设置相关的查询过滤条件
    /mcm/search/user/ 无法获取name参数 name参数在url中,不能从body中获取
    /mcm/match/ 获取推荐用户时没有正确过滤已发送邀请的用户 设置的相关查询过滤条件不正确
    /mcm/quit/ 用户作为队员退出某一队伍单独一人时未自动成为队长 缺少对数据表中相关字段的设置
    /mcm/invite/<int:user_id>/ 调用接口时返回错误码500 数据库操作时搜索的键名错误
    /mcm/invitations/send/ 后端返回的邀请信息全是自己的信息,实际上应为被邀请者的信息 对数据库搜索到的数据进行的索引错误
    /mcm/accept/<int:invitation_id>/ 同意后未加入队伍 更新数据库是未进行保存
    /mcm/quit/ 用户退出队伍后未成为单人队伍的队长 未更新用户身份字段
    /mcm/accept/<int:invitation_id>/ 邀请同意后被邀请者仍能在邀请列表里看见 未对被邀请者可见的邀请信息进行过滤
    /mcm/invite/<int:user_id>/ 能够邀请队友 发出邀请是应过滤现有队友

    表中详细列出的BUG的现象及具体原因,目前后端发现的所有BUG均已解决。

    压力测试

    进行的压力测试与Beta阶段使用相同工具。基本参数如下:

    • 并发用户数:500
    • 总请求数 :5135

    进行压力测试后的结果如下:




    • 测试结果:
      总请求数量为5135个的情况下,失败请求数为2,表现良好。
      平均响应时间为0.905s吞吐率为51.2req/s
      Gamma阶段压力测试的表现相比Beta阶段,有较大提升。
      Beta阶段压力测试详情请见这里

    前端功能测试

    对于前端的功能测试,仍采用与Alpha阶段相同的方式,即在不同的机型、不同的操作系统下,对每个页面的每个功能进行一一测试,以检测其功能的正确性。前端功能测试的测试矩阵如下:

    测试矩阵 功能测试 页面显示
    测试机型 测试环境 登录 搜索 查看分类标签 首页智能推荐 修改个人信息 修改简历 查看招募 发布招募 查看我的发布 采纳申请 申请招募 查看我的申请 填写美赛个人信息 填写美赛问卷 换一批推荐 退出队伍 邀请推荐队友 查看已发邀请 查看收到邀请 接受和拒绝邀请 搜索用户 页面排版
    Redmi K20 Pro Android 9.0 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 显示的人错误(偶尔) 无问题 无问题 无问题 无问题 无问题 无问题
    Mi6 Android 9.0 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 显示的人错误(偶尔) 无问题 无问题 无问题 无问题 无问题 无问题
    Honor Play Android 9.0 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 显示的人错误(偶尔) 无问题 无问题 无问题 无问题 无问题 无问题
    IQOO Android 9.0 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 显示的人错误(偶尔) 无问题 无问题 无问题 无问题 无问题 无问题
    iphone7 IOS 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无法查看个人简历 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题
    iphone8 IOS 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无问题 无法查看申请者 无法查看申请者 无问题 无法查看个人简历 无问题 无问题 无问题 退出队伍有时显示其他人 无问题 无问题 无问题 无问题 无问题 无问题

    场景测试

    • 典型用户:冰哥

    • 用户需求
      冰哥是计算机系的大三学生。由于系里实践与展示课程的要求,冰哥想要参加美国大学生数学建模比赛,但苦于无法找到合适的队友

    • 场景描述1

      • 冰哥打开微信,进入小小易校园小程序,并通过微信登录
      • 进入首页,点击底部导航栏中的“美赛”模块,进入美赛首页
      • 填写美赛相关的基本信息并完成美赛信息收集问卷,冰哥便看到了系统自动匹配的队友。
      • 在换了几批匹配队友并查看了其信息后,冰哥找到了合适的队友并发送了邀请,等待回答
    • 场景描述2

      • 冰哥打开微信,进入小小易校园小程序,并通过微信登录
      • 进入首页,点击底部导航栏中的“美赛”模块,进入美赛首页
      • 填写美赛相关的基本信息并完成美赛信息收集问卷后,冰哥因为有急事退出了小程序
      • 再次登录小程序,进入美赛页面,冰哥收到了来自多个匹配队友的邀请。
      • 冰哥查看邀请者的信息,选择最合适的队友,接受了邀请,完成了组队

    回归测试

    从后端的接口测试部分可以看见,在进行Gamma阶段的单元测试时,我们同时运行了前两个阶段已完成的单元测试,并对测试失败的接口进行了修正,最后顺利通过了Alpha、Beta阶段的所有单元测试,保证了前两个版本功能的正确性。

    出口条件

    Gamma阶段的出口条件概括为:完成一个界面美观的数学建模比赛组队模块。
    数学建模模块的具体功能如下:

    • 填写、修改数学建模相关信息功能
    • 用户填写问卷后,根据用户填写的答案自动打分,并匹配相应队友
    • 通过搜索对特定用户发出组队邀请
    • 通过首页推荐模块对匹配的队友候选发出邀请
    • 管理自己发出、收到的所有邀请
    • 用户不满意当前队伍时,可以自行退出当前队伍
    • 当A用户向B用户发出了邀请,且B用户还未答复,或B用户与A用户处于同一队伍时,不再向A用户推荐B用户
  • 相关阅读:
    react 把时间戳用new Date改为日期
    react-格式化日期
    react-2种方法写法
    React-router4简约教程
    react-addons-css-transition-group
    vue-一些易错点
    Js apply方法详解,及其apply()方法的妙用
    C++中的继承(3)作用域与重定义,赋值兼容规则
    C++中的继承(1) 继承方式
    vim中文帮助文档安装
  • 原文地址:https://www.cnblogs.com/Water-T/p/11033063.html
Copyright © 2020-2023  润新知