[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用户

[Gamma阶段]测试报告的更多相关文章

  1. Gamma阶段测试报告

    测试计划 Gamma阶段依然以场景测试为主.我们归纳了三条场景主线: 一.典型用户:查看 访问排名页面 / 搜索课程 查看课程页面 查看教师页面 为他人评论点赞或点踩 二.典型用户:评论 登录网站 搜 ...

  2. [Gamma]阶段测试报告

    后端测试 我们进行了覆盖性测试,覆盖率达到77%. Beta阶段发现的Bug 项目显示的图片错误 无法使用搜索框 发布实验室项目的按钮点击无法跳转 连续点击发帖按钮可能发出多个相同的帖子 不需要点击我 ...

  3. [Gamma阶段]事后分析博客

    目录 Gamma阶段事后分析博客 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 讨论照片 Gamma阶段事后分析博客 作业要求:Gamma阶段事后分析 设想和 ...

  4. Gamma阶段事后分析

    设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件要解决的是安卓游戏的自动化异常检测问题,定义的足够清楚,对于典型用户的描述和典型场景的描述也足 ...

  5. [Alpha阶段]测试报告

    [Alpha]阶段测试报告 在测试过程中发现的BUG ​ 在最后的测试阶段中,我们不可避免的遇到了各种各样的BUG.虽然大多数都不是严重的BUG,但是这些细枝末节的问题的堆积,依然会很大程度上降低用户 ...

  6. [Gamma阶段]展示博客

    水哥牛X团队[Gamma阶段]展示博客 微信小程序搜索"小小易校园"即可体验 项目愿景 想参加竞赛,锻炼自己,却找不到合适的队友 想进行实习,体验工作,每天不得不翻遍吐槽版的几百条 ...

  7. 秘制牛肉Gamma阶段项目展示

    秘制牛肉Gamma阶段项目展示 1.团队成员和个人博客 · 左顺:在项目中主要负责后端开发.个人博客 · 袁勤:精通网页项目开发,前端后端都很强,在完成自己后端任务后也会积极帮助其他人的任务.个人博客 ...

  8. Alpha阶段测试报告(示例)

    http://www.cnblogs.com/Flamenco/p/7834393.html Alpha阶段测试报告

  9. Gamma阶段测试计划

    前言 点击这一链接访问公课网(笨拙软件工程组). 一.Alpha阶段场景测试 1.1 鹿丸:无欲无求大三学生 保研无望 不在乎给分 只想选择干货多的课程 充实自己 需求和目标:了解各专业课程的授课内容 ...

随机推荐

  1. Redis(七)持久化(Persistence)

    前言 前文中介绍到Redis时内存的K-V数据结构存储服务器.Redis的高性能原因之一在于其读写数据都是在内存中进行.它的架构实现方式决定了Redis的数据存储具有不可靠性,易丢失,因为RAM内存在 ...

  2. 【linux】CentOS 查看系统时间,修改时区

    ===============CentOS 7.6================ 1.查看系统时间 date 查看当前系统时间以及时区结果是: Mon Jul 8 09:23:31 UTC 2019 ...

  3. 深入V8引擎-初始化之InitPlatform

    上一篇其实想讲初始化的第二步,但是内容比较无聊,所以换了一个话题,谈了谈v8的命名空间和宏,稍微轻松一下. 在这里还是接着说说初始化过程,毕竟写博客的初衷是对自己努力的记录,不是为了吸粉,这篇没图,对 ...

  4. mask-rcnn解读(一):clip_boxes_graph

    此部分为mask-rcnn中clip_boxes_graph()函数的使用.首先利用代码解决基本函数的使用,然后运行代码,其细节如下:代码如下: import tensorflow as tfimpo ...

  5. dapperDemo

    dapperDemo 下载链接:http://pan.baidu.com/s/1geQHXPT

  6. https网站部署成功 CA证书申请 IIS配置

    https://www.cnblogs.com/lichunting/p/9274422.html#4276645 参考文档解决方案

  7. three 3D实例学习

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  8. 【软件工程第三次作业】结对编程:四则运算( Java 实现)

    1. GitHub 地址 本项目由 莫少政(3117004667).余泽端(3117004679)结对完成. 项目 GitHub 地址:https://github.com/Yuzeduan/Arit ...

  9. kubernetes部署spring cloud注册中心 Eureka

    系统环境 java JDK 1.8 Docker 18.09.6 kubernetes 1.16 创建Eureka Server 1.Maven引入相应的jar 引入 SpringBoot 做基础框架 ...

  10. 是否注意过isEmpty 和 isBlank 区别?

    isEmpty 和 isBlank 区别 org.apache.commons.lang.StringUtils 类提供了 String 的常用操作,最为常用的判空有如下两种 isEmpty(Stri ...