博客目录html
在正式发布前,为检验后端各接口功能的正确性,后端服务器对压力的耐受程度,以及前端各页面、功能的运行状况,咱们对咱们的服务器及小程序进行了多种测试。除去随开发进行的基本正确性测试外,针对上述三种情形,咱们分别进行了单元测试、压力测试以及功能测试。前端
单元测试的主要目的,是测试后端全部接口的工做是否正常。其内容主要包含两方面:
- 接口在正常状况下是否能发挥预期功能
- 接口在异常状况下是否能返回预期错误信息数据库
Gamma阶段的全部单元测试与Alpha、Beta阶段相同,在pycharm下使用Coverage工具进行测试。通过修改后已经经过了全部单元测试。小程序
在Gamma阶段,咱们依旧针对每个接口都设计了相应的单元测试。如今,三个阶段单元测试的总数高达203个。
后端
在运行完全部单元测试后,单元测试的代码覆盖率高达96%,切实确保了全部接口的正确性。
服务器
单元测试中发现的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阶段使用相同工具。基本参数以下:iphone
进行压力测试后的结果以下:
工具
对于前端的功能测试,仍采用与Alpha阶段相同的方式,即在不一样的机型、不一样的操做系统下,对每一个页面的每一个功能进行一一测试,以检测其功能的正确性。前端功能测试的测试矩阵以下:
测试矩阵 | 功能测试 | 页面显示 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
测试机型 | 测试环境 | 登陆 | 搜索 | 查看分类标签 | 首页智能推荐 | 修改我的信息 | 修改简历 | 查看招募 | 发布招募 | 查看个人发布 | 采纳申请 | 申请招募 | 查看个人申请 | 填写美赛我的信息 | 填写美赛问卷 | 换一批推荐 | 退出队伍 | 邀请推荐队友 | 查看已发邀请 | 查看收到邀请 | 接受和拒绝邀请 | 搜索用户 | 页面排版 |
Redmi K20 Pro | Android 9.0 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 显示的人错误(偶尔) | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 |
Mi6 | Android 9.0 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 显示的人错误(偶尔) | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 |
Honor Play | Android 9.0 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 显示的人错误(偶尔) | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 |
IQOO | Android 9.0 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 显示的人错误(偶尔) | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 |
iphone7 | IOS | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 没法查看我的简历 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 |
iphone8 | IOS | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 没法查看申请者 | 没法查看申请者 | 无问题 | 没法查看我的简历 | 无问题 | 无问题 | 无问题 | 退出队伍有时显示其余人 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 | 无问题 |
从后端的接口测试部分能够看见,在进行Gamma阶段的单元测试时,咱们同时运行了前两个阶段已完成的单元测试,并对测试失败的接口进行了修正,最后顺利经过了Alpha、Beta阶段的全部单元测试,保证了前两个版本功能的正确性。
Gamma阶段的出口条件归纳为:完成一个界面美观的数学建模比赛组队模块。
数学建模模块的具体功能以下: