一、为什么要进行弱网测试
在游戏测试--黑盒测试中,分为功能测试与专项测试,在上几篇文章中说的都是功能测试,而专项测试主要包括弱网和性能测试。(其实弱网也是性能的一种。)
功能测试主要是保证功能的完整性,能让玩家能够流程的体验整个游戏功能,而弱网测试就是其中需要关注的异常点。
首先我们知道现在的网络场景一般是无网络2g3g4g和wifi,以及即将要到来的5g。弱网当然就包括无网、2g,3g不知道算不算,但是只要网络不佳就是弱网。
那为什么要进行弱网测试呢?
首先一个是用户的网络场景。我们不能保证我们的用户即玩家有良好的网络在玩游戏,网络也会波动,波动就是网络不畅,特别是手机网络速度在特定的环境下,网速就是渣,比如在偏远地区,信号一直不好,又比如在地铁上,网络时断时续。又比如大学那会买的联通4G苹果5,结果装的移动卡,没有wifi的情况下一直都是2G...
另一个是保证游戏数据的一致性和准确性。玩游戏玩的就是游戏数据,不能因为网络状况比较差,导致游戏内的数据丢失。
网络差还玩什么游戏?虽然这是一个比较直白或者说吐槽的话,但是对于我们游戏项目组成员而言,每一个用户都有可能充值。所以网络差可能玩不来流畅的游戏,但是我们可以保证玩家也能够在网络差的环境下来玩游戏,至少可以玩不是。
所以进行弱网测试的原因或者说目的只有两个:一个是为了保证用户能够有完好的游戏体验,就不得不进行弱网测试。另一个更重要的还是保证游戏数据的一致性和准确性。
二、弱网测试的要点
既然是弱网测试,那么测试要点肯定是无网测试、弱网功能测试、弱网体验测试、弱网响应时间 、网络切换测试以及异常机制。下面我们细细来说:
1.无网测试
顾名思义,无网测试就是在没有网络状态下进行测试。
其实这个比较简单,直接在游戏过程中把网断掉,就变成了无网状态。
到了无网状态之后,我们要关注或者说测试要点是:
①及时提醒网络异常。游戏玩着玩着,突然断开了网络,显而易见的表现为文字弹出框:当前网络环境异常,正在重连中。(或者其他友好提示)我比较欣赏以前知乎的提示:你仿佛来到了知识的荒原...而现在...
②不可进行游戏内操作。已经有弹出框了,必然不会给玩家带来不必要的操作,或者说不能让玩家直接操作游戏内功能,就是说任何的点击都是无效的。记得以前的刺激战场有过这样一个bug:在决赛圈把网络关闭之后,角色还是可以自由移动一段时间,然后就可以尝试发现敌人的位置,然后再打开网络...
③各个功能是否受到影响。断线就断线了,不能操作就不能操作了,最低的原则,不能喀的一下直接游戏奔溃然后闪退了。
④恢复网络,可手动重连。为了让玩家有良好的游戏体验,那么必然一旦恢复网络,就可以再次体验游戏,一个是自动重新连接游戏,另一个是可以手动连接游戏。
2.弱网功能测试
上面说的是无网,现在是真正的弱网状态。
①是否会在弱网环境下进行更新apk包
对于手游而言,每次在游戏更新的时候,为了让用户更好的体验,所以在玩家一进入游戏在更新的时候都会提示:建议在wifi环境下更新。
一般是不建议直接自动用流量更新的。一个是会浪费玩家流量,另一个更加重要的是如果玩家处于弱网状态下更新,有时会造成数据下载异常。数据一异常,就有可能登陆不了游戏,然后再次重新下载,是对玩家的一种损失。
②页面响应时间
以前有个三秒定律,是说3秒是一个分界线,打开速度小于等于3秒的网站和超过3秒的网站命运是不一样的,57%的用户在3秒后还没加载完就会放弃,意味着用户流失。
对于手游而言,这也是同理的。所以也会测试很多场景的响应时间,比如热启动和页面切换。
这里科普一下这两个概念:
所谓冷热启动,当游戏app已经被打开,但是按下返回键、home键等按键时回到桌面或者是其他程序的时候,再重新打开该app时,这个方式叫做热启动。当后台已经存在该应用进程,而后台不存在该应用场景,杀死进程新打开的就叫做冷启动。
所谓页面切换,就是指在游戏内不断的切换各个游戏功能,转菊花是允许的,但是如果遇到各种白屏闪屏,体验就会极其糟糕。
③页面显示是否重叠
在弱网环境下,游戏响应不及时时,会有玩家耐不住心中的寂寞,总喜欢不断地来回点击各个游戏功能。此时对于游戏页面的要求,是不能在恢复网络或者页面加载后出现多个页面重叠的现象。
④超时文案
弱网状态下,一旦请求数据超时,或者说转菊花转了半天还是没有请求到数据,这就需要给用户提示框:请求超时。
⑤是否有请求堆积
在弱网状态下,进行功能点击是会表现出转菊花的状态了。此时对于玩家而言,就会重复点击此功能,或者瞎JB乱点。
每一次点击都会有一次对服务器的请求,然后网络恢复后服务器收到这些请求就会给出响应。
举一个例子吧。先前在微信小程序玩过一款可以通过分享赚积分的游戏,分享一次会获得20积分。当时我正处于地铁上,点分享的时候一直没反应,然后我一直点一直点,等我网络一恢复,看了一下我的积分,多了几千点...直接打破了分享次数的限制。
⑥是否会有断线重连
现在的手游都会做断线重连的机制。可以考虑一下三个方面:客户端是否会重发请求,发几次?客户端重连失败几次会不允许重连?服务器如何允许重连?
我没有接触到这一块,据说是更改心跳时间,没测过,所以我也没法详细地讲清楚,抱歉。
3.弱网体验测试
其实这部分内容与上方的功能测试有重叠,不过可以加深一下印象:
①是否会有loading、转菊花。(答案是必须有)
②是否有文案提示 (也要有)
4.网络切换测试
这个切换测试很无聊,就是不停地进行wifi、4g、3g、2g和无网络之间来回切换,模拟用户的网络环境,目的就是上面提到的功能测试。
5.异常机制
①异常信息文案的处理
②容错机制的处理,比如等待超时anr
③游戏对局中重连机制
④超时机制