[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(九)高可用专栏之Sentinel模式

    本文讲述Redis高可用方案中的哨兵模式--Sentinel,RedisClient中的Jedis如何使用以及使用原理. Redis主从复制 Redis Sentinel模式 Jedis中的Senti ...

  2. PHP 垃圾回收机制详解

    前言:之前对PHP的GC只是了解了个大概,这次详细了解下PHP的垃圾回收机制(GC). 介于网上大部分都是PHP5.X的GC,虽然 php5 到 php7 GC部分做出的改动较小,但我觉得还是一起写下 ...

  3. 2019-11-29-dotnet-通过-WMI-获取指定进程的输入命令行

    原文:2019-11-29-dotnet-通过-WMI-获取指定进程的输入命令行 title author date CreateTime categories dotnet 通过 WMI 获取指定进 ...

  4. .NET Standard和.NET Core是什么关系(转载)

    .NET Standard vs .NET Core 问: I have read about the difference between .NET Standard and .NET Core, ...

  5. ASP.Net Core中设置JSON中DateTime类型的格式化(解决时间返回T格式)

    最近项目有个新同事,每个API接口里返回的时间格式中都带T如:[2019-06-06T10:59:51.1860128+08:00],其实这个主要是ASP.Net Core自带时间格式列化时间格式设置 ...

  6. WPF样式与触发器(3)

    WPF中的各类控件元素, 都可以自由的设置其样式. 诸如: 字体(FontFamily) 字体大小(FontSize) 背景颜色(Background) 字体颜色(Foreground) 边距(Mar ...

  7. VirtualBox安装Ubutu出错

    今天打算装个虚拟机玩玩,这次没有选择VM.感觉那东西各种破解有点麻烦而且体积也不小呀,所以,这次我选择了稍微点的的VirtualBox. 一路安装虚拟机没有问题,安装完后新建虚拟机都正常,可在启动虚拟 ...

  8. Flask路由系统

    Flask路由系统 我们之前了解了路由系统是由带参数的装饰器完成的. 路由本质:装饰器和闭包实现的. 设置路由的两种方式 第一种: @app.route('/index') def index(): ...

  9. 前端常见的HTML+CSS面试题(附答案)

    HTML 1. <image>标签上title属性与alt属性的区别是什么? alt属性是为了给那些不能看到你文档中图像的浏览者提供文字说明的.且长度必须少于100个英文字符或者用户必须保 ...

  10. vue-router 在新窗口打开页面的功能

    项目中,需要点击链接后再新窗口打开页面,大家知道vue是单页面应用开发框架,那么也不是不可以实现这个功能 很简单,详情看下面 1.<router-link>标签实现新窗口打开 <ro ...