移动游戏项目弱网测试策略
大部分移动游戏的简单架构如下(这样画图会被喷死么。。。这也太简单了。。。):
既然是移动游戏,那么在移动过程中就会遇到各种个样的网络状态,比如坐个高铁,瞬间可能从4G信号变成乡村的E信号。。。或者是在几种不同的信号之间来回切换,那这对移动游戏就提出了网络层面的考验,也对我们移动项目的测试人员提出了新的问题,如何测试这种情况?总不能拿着手机去高铁上测试吧。
方法还是有的,网上的工具也挺多,今天就给小伙伴们分享一下基于fiddler这款工具的弱网测试方法。目前这款工具只支持windows平台,使用mac的小伙伴们自行去找台windows设备吧。
开始介绍工具之前,我们简单说下为什么要做弱网测试。是保证用户体验么?个人觉得这是原因之一,但并非决定性因素。如果想要更好的游戏体验,建议大家还是找个wifi环境好好玩吧。最主要的因素是我们要保证前后端的数据一致,保证网络变化带来的变量不会影响到数据的稳定性和准确性。
如何保证网络变化情况下的数据一致性和准确性,主要有2种解决方案,一种是网络不好甚至离线的情况下,让用户继续体验游戏,数据暂时保存在客户端,一旦网络流畅后,前端数据会同步到后端。比较适用于实时性低且玩家与玩家之间交互较少的游戏类型。另一种是网络差到一定程度直接无法继续游戏,用户必须在网络状况好的情况下继续游戏。这种策略适用于实时性高及玩家与玩家之间交互情况较多的游戏类型。
做弱网测试的原因描述完毕后,我们正是开始介绍弱网测试工具。
工具名称:fiddler,各位小伙伴自行百度下载吧,跟mac上的charles比较类似。一通下一步后,即可安装完毕。
Fiddler的算法:8*1000/网络速度=需要延迟的时间(毫秒)以2G网络为例,2G网的上行速度为2.7Kb/s,下行速度为9.6Kb/s,那么我们在fiddler里设置的对应延迟分别为2962ms和833ms。
Ok,我们来看一下fiddler如何设置延迟:
1, 设置弱网延迟参数,打开fiddler软件,点击Rules->Customize Rules
2, 在弹出的页面中搜索m_SimulateModem,找到如下图中的位置:
以2g网络为例,修改上行延迟为2962ms,下行延迟为833ms,修改完毕后保存一下即可。
3, 修改完延迟后,在fiddler中选择Rules->Performances->Simulate Modem Speeds,勾选该项即可,如下图:
4, 到此fiddler设置就完毕了,下一步我们需要设置下手机,保证手机所用网络跟fiddler是同一个网络,在网络中选手动,输入fiddler所在电脑的ip即可,端口默认为8888.如下图:
既然是移动游戏,那么在移动过程中就会遇到各种个样的网络状态,比如坐个高铁,瞬间可能从4G信号变成乡村的E信号。。。或者是在几种不同的信号之间来回切换,那这对移动游戏就提出了网络层面的考验,也对我们移动项目的测试人员提出了新的问题,如何测试这种情况?总不能拿着手机去高铁上测试吧。
方法还是有的,网上的工具也挺多,今天就给小伙伴们分享一下基于fiddler这款工具的弱网测试方法。目前这款工具只支持windows平台,使用mac的小伙伴们自行去找台windows设备吧。
开始介绍工具之前,我们简单说下为什么要做弱网测试。是保证用户体验么?个人觉得这是原因之一,但并非决定性因素。如果想要更好的游戏体验,建议大家还是找个wifi环境好好玩吧。最主要的因素是我们要保证前后端的数据一致,保证网络变化带来的变量不会影响到数据的稳定性和准确性。
如何保证网络变化情况下的数据一致性和准确性,主要有2种解决方案,一种是网络不好甚至离线的情况下,让用户继续体验游戏,数据暂时保存在客户端,一旦网络流畅后,前端数据会同步到后端。比较适用于实时性低且玩家与玩家之间交互较少的游戏类型。另一种是网络差到一定程度直接无法继续游戏,用户必须在网络状况好的情况下继续游戏。这种策略适用于实时性高及玩家与玩家之间交互情况较多的游戏类型。
做弱网测试的原因描述完毕后,我们正是开始介绍弱网测试工具。
工具名称:fiddler,各位小伙伴自行百度下载吧,跟mac上的charles比较类似。一通下一步后,即可安装完毕。
Fiddler的算法:8*1000/网络速度=需要延迟的时间(毫秒)以2G网络为例,2G网的上行速度为2.7Kb/s,下行速度为9.6Kb/s,那么我们在fiddler里设置的对应延迟分别为2962ms和833ms。
Ok,我们来看一下fiddler如何设置延迟:
1, 设置弱网延迟参数,打开fiddler软件,点击Rules->Customize Rules
2, 在弹出的页面中搜索m_SimulateModem,找到如下图中的位置:
以2g网络为例,修改上行延迟为2962ms,下行延迟为833ms,修改完毕后保存一下即可。
3, 修改完延迟后,在fiddler中选择Rules->Performances->Simulate Modem Speeds,勾选该项即可,如下图:
4, 到此fiddler设置就完毕了,下一步我们需要设置下手机,保证手机所用网络跟fiddler是同一个网络,在网络中选手动,输入fiddler所在电脑的ip即可,端口默认为8888.如下图:
ok,到此就全部设置完毕,开始愉快开的测试之旅吧。以《海岛奇兵》为例,打开手机上的《海岛奇兵》,查看fiddler的记录,既可以看到相关内容了。如下图:
以上以2G网络为例,小伙伴们可以继续把延迟加大,看看大家的应用能够扛到多低的上行下行速度把。
此处还有一个问题没有解决,即fiddler这个工具只能模拟网络延迟情况,另一个关键指标丢表率并不能有效模拟,为了解决这个问题,笔者翻阅了很多资料,请教了很多开发人员,最后终于找到一款能很好模拟丢包率的软件,不过只能用在mac设备上,即xcode自带的开发工具Network Link Conditioner.安装后,可以自行设置网络情况,截图如下:
可以看到能够设置上行速度,下行速度,延迟时间,丢包率等,非常好用,一并推荐给各位小伙伴。
最后再次强调,弱网测试不仅仅为了用户体验,更重要的是数据一致性和准确性,请小伙伴们别忘了这个宗旨哦。
怎么样?足够简单吧,小伙伴们快快行动起来吧!
以上以2G网络为例,小伙伴们可以继续把延迟加大,看看大家的应用能够扛到多低的上行下行速度把。
此处还有一个问题没有解决,即fiddler这个工具只能模拟网络延迟情况,另一个关键指标丢表率并不能有效模拟,为了解决这个问题,笔者翻阅了很多资料,请教了很多开发人员,最后终于找到一款能很好模拟丢包率的软件,不过只能用在mac设备上,即xcode自带的开发工具Network Link Conditioner.安装后,可以自行设置网络情况,截图如下:
可以看到能够设置上行速度,下行速度,延迟时间,丢包率等,非常好用,一并推荐给各位小伙伴。
最后再次强调,弱网测试不仅仅为了用户体验,更重要的是数据一致性和准确性,请小伙伴们别忘了这个宗旨哦。
怎么样?足够简单吧,小伙伴们快快行动起来吧!
上一篇:移动端弱网络测试问题总结
下一篇:mac如何修改ComputerName?