Beta阶段测试报告
前端测试计划
具体测试项如下:
- 注册测试
- 登录测试
- 忘记密码测试
- 一次登录后自动登录测试
- 退出登录测试
- 编辑资料测试
- 查看好友测试
- 搜索好友测试
- 添加好友测试
- 获取当前正在游戏的房间测试
- 创建房间测试
- 加入房间测试
- 锁定房间测试
- 选择座位测试
- 房间设置测试
- 游戏流程测试
后端测试计划
APP中的测试主要分为两大部分,一个是对接口的测试,一个是对游戏流程的测试。
对接口的测试主要分为两部分,一类是HTTP接口的测试,这类接口负责的是游戏之外的各种功能,可以看成是静态的,相对而言比较好测试;而另一类接口则是WebSocket接口,这类接口都是在游戏过程中用到的,可以看成是动态的,情况也比较复杂,测试相对较困难。
而对游戏流程的测试只能从创建房间开始到游戏结束为止一点点的去测试,对流程中每一步骤的各种情况都要尽量覆盖到。
由于人力物力还有时间的限制,我们只能通过几台手机去一点点的尝试,一步一步的按照游戏流程往前推进,不断的进行测试与程序修复。
测试过程及结果
测试过程分两部分:一台机器测试和多台机器测试。
一台机器可以完成的测试有:注册、登录、忘记密码、自动登录、退出登录、编辑资料、查看好友、搜索并添加好友、获取当前正在游戏的房间、创建房间等。
需要多台机器完成的测试有:加入房间、锁定房间、选择座位、房间设置、游戏流程。
我们对前者进行了一一测试,发现了两个问题,在下面给出bug记录及解决过程。
对后者进行了多台机器多种角色测试。
前端Bug记录
- 无法进入搜索好友界面。解决方案:导入未导入的包,并更换文件,成功修复,但错误原因尚不明确。
- 若一名玩家创建了房间但网络出现故障或强制退出APP等情况,这个房间就会成为死房间,无法再加入。解决方案:当一名玩家重新登录时,检测是否存在他之前创建的房间,若有,解散该房间,释放该房间的玩家。
- 锁定房间时,经常会出现服务器响应慢的情况。解决方案:将服务器5s响应一次改为1s响应一次。
- 进入游戏流程时,经常会出现有玩家“离奇”死亡。解决方案:锁定房间时没有初始化好玩家生存表的值。
- 玩家选择好座位后重新选择时,会同时占据两个座位。解决方案:重新选择时清除原座位信息。
- 游戏过程中不该使用技能的状态不能下一步。解决方案:对下一步做限制,若不该使用技能,则可以直接下一步。
后端Bug记录
(1) 通信数据类型错误,为了统一,所有的通信数据都是转换为字符串之后再转为json进行传递的,前端和后端在进行通信时都会忘记将某些非字符串数据转为字符串,或者处理时忘了将字符串转为其他类型进行处理。
(2) 变量未初始化使用。因为在服务器中保存着一些游戏中经常会用到的一些数据,而这些数据有可能没有初始化就使用。
(3) 多次登录未处理。
(4) 房间关闭和退出后未将之前的数据删掉导致错误。
(5) 各种下标溢出错误,比如投票时判断平票时需要用到两个结果,可是非平票情况下只有一个结果,就会出现下标溢出错误。
场景测试
APP为所有用户提供了统一的功能,用户的使用场景包括如下几点:
- 想玩狼人杀但没有人会或者没有人想扮演法官的玩家
- 想玩狼人杀但没有牌的玩家
- 想玩狼人杀且想让狼人在夜间交流更方便的玩家
- 想玩狼人杀但经常忘记场上形势的玩家
- 想玩狼人但找不到人来玩的玩家
- 下载下来一个人看看APP功能的玩家
- 下载下来只是看看的吃瓜群众
综合上述用户场景,我们需要进行1人~多人、不同种角色组合的游戏测试,以满足用户的需求。
测试矩阵
游戏人数 | 测试平台 | 测试机型 | 狼人人数 | 预言家 | 女巫 | 守卫 | 丘比特 | 游戏局数 |
---|---|---|---|---|---|---|---|---|
1人 | IOS | IPhone6s | 1人 | 是 | 是 | 是 | 是 | 1局 |
…… | Android | IPhone5 | 2人 | 否 | 否 | 否 | 否 | 2局 |
8人 | IPhone4s | 3人 | 3局 | |||||
小米note | 4人 | |||||||
乐视1s | ||||||||
红米 |
服务器:Windows系统, 1核1G内存,Django框架,MySQL数据库
性能测试与压力测试
设备所限,未能进行高强度的压力测试。至于性能方面,因为只有测试的几台设备,所以速度还是很快的。
出口条件
(1) 新增功能都已实现。
(2) 软件能够正常运行。
(3) 服务器能够稳定运行。
(4)测试矩阵中的典型情况得到测试并无bug。