手游MOBA之殇在网络——浅析手游网络损伤专项测试

弱网络专项测试(客户端网络损伤专项测试)是腾讯游戏内部评审时,非常重要的一环,直接决定了产品是否能直接上线运营。针对最近非常火爆的MOBA类游戏,对客户端网络损伤专项测试再做诠释。

1、 什么是网络专项测试

MOBA手游的使用过程中,可能会遇到的几个奇怪的遭遇。

| 网速太慢

网友的聊天内容没拉取出来:

头像显示不出来:

l 网络拥塞

1V1好友单挑,好友已进入副本战斗,我还在LOADING。。

就是进不去:

l 网络异常

好不容易打胜了,没奖励!

人死了,尸体还在,一直在。。。

然后也复活不了,然后,就没有然后了:

1V1,好友小兵没血量却砍不死,处女座不能忍啊:

基地和塔不见了:

技能不见了:

当然,网络不好也会遇到好事,比如源源不断的小兵军团:

看了各种玩家的坑爹遭遇,大家可能也遇到过不少类似的情况,一定能理解网络专项测试的目的和重要性。网络专项测试,顾名思义就是专门针对网络性能的测试。

目前我国2G网络用户占比仍然超过3G/4G用户,这部分用户是低带宽高延时,如果手游对高延时的容忍超过2G用户的平均值必然导致这部分用户的流失。当然,MOBA游戏的玩家肯定都有3G网络了,只是不可避免的一点,3G网络在某些未被覆盖的地区仍然会是2G网络。

缺陷统计表示11%的手游缺陷因为网络问题。游戏Crash排名前十的原因是因为带宽和网络切换。而大部分网络问题都是非必现的,必须通过专项测试精确定位和重现问题根源来弥补普通功能测试的盲区。

2、 一般手游网络专项测试方法

2.1 测试点

分析游戏,找出游戏中和网络交互有关的关键点,以下测试点优先级较高,需要重点测试:

l 正常游戏的主要流程,例如:登录、进入游戏、游戏中操作、游戏结算等;

l 游戏中涉及支付购买的地方,例如购买钻石、购买道具、游戏复活等;

l 游戏中涉及领取奖励的地方,例如每日奖励、任务奖励、抽奖等;

l 游戏中对网络敏感的交互功能,例如实时对战;

测试点示例:

如果游戏是Unity开发的,那么主要针对某个平台测试即可,另外一个平台可以抽测。同时,值得特别注意的是iOS平台的IAP支付也有必要测试一下。

2.2 测试方法

2.2.1 测试点断网测试

单独针对每一个测试点,分别进行发包断网,收包断网测试。这种方式只适用于客户端单个请求上行对应服务器单个响应回包,收发消息是一对一同步进行的一般手游场景,比如购买,升级,开局,结算等。对测试者要求高,需要清晰了解每个测试点客户端与服务器的交互逻辑,才能设计用例。因为每次只测试一个测试点,覆盖不到游戏并发请求的异常逻辑,且开发只要做好网络底层超时逻辑,一般都能覆盖到全部测试点,因此发现缺陷的效率相比之下较低。

方法示例:

2.2.2 组合场景法

设置一种网络模式,执行玩家经常遇到的游戏场景。同时配合在测试点上,采用断网或切换网络等操作,观察是否符合有效(能完成逻辑)或无效预期(不能完成逻辑)。此方法执行起来方便快捷,发现缺陷效率高。适用于MOBA等实时对战类的游戏场景。但是,由于选定的网络有很大的不确定性,不能保证每次执行用例有恒定的网络前提条件作为输入,因此预期都分为有效或无效两种情况,不能保证两种结果都覆盖到,是一种有损的测试方法。

常用网络模式示例:

3、MOBA手游网络专项测试不同之处

MOBA手游特色主要是实时对战,为了达到实时效果又要防止作弊,目前游戏一般采用客户端上报操作,服务器执行逻辑然后异步同步推送给多个客户端的数值表现的方式。由于客户端与服务器收发消息不是一对一同步的,就无法采用测试点断网测试方法,适合采用组合场景法。

实时性强的游戏应该能实时监测到断网或超时的情况并给出界面提示,防止出现不正常的界面表现。

所以对比常规游戏的网络性能测试,由于MOBA手游的节奏快,对测试人员要求更高了,必须眼明手快,也需要更细心。由于网络的不确定性,出现的缺陷基本都是非必现的,因此抓包、截图、录制视频,样样少不了。

这也难怪,MOBA手游虽火,能持续累计玩家口碑,保持稳定增长的确没几家。

4 、测试工具

最后,用例设计好了,场测费时费力,我们还需要寻找更有效的模拟网络的方法。目前市场上有一些耳熟能详的工具或平台可以使用。

1. Microsoft NEWT

只支持单个用户,自己用足够了,搭建环境过程还挺复杂的。

2. Facebook ATC

支持多用户,可以搭建企业平台。

3. WeTest

可以很方便的远程访问云平台上的各种手机设备,设置不同的网络模式,支持实时切换网络,对于不会搭建NEWT测试环境的小白来说,推荐使用。

►欢迎小伙伴们与我们多交流沟通,我们会收集大家的意见,不断优化完善,提供更优质的服务!

原文发布于微信公众号 - 腾讯WeTest(TencentWeTest)

原文发表时间:2015-09-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序你好

软件架构30条原则

原则 1: KISS (Keep it simple, stupid) “指设计时要坚持简约原则,避免不必要的复杂化。” 其思想是使用最简单的解决方案来完成这项...

1152
来自专栏云计算D1net

微服务架构崛起 能否成为下一代云计算?

IT架构一直从all in one到近两年热门的微服务架构,技术不断进步,微服务架构模式(Microservice Architect Pattern)开始被越...

3775
来自专栏技术翻译

2018年ETL工具比较

提取,转换和加载(ETL)工具使组织能够跨不同的数据系统使其数据可访问,有意义且可用。通常,公司在了解尝试编码和构建内部解决方案的成本和复杂性时,首先意识到对E...

1.4K1
来自专栏腾讯云数据库(TencentDB)

3分钟学会如何调度运营海量Redis系统

作者:冯伟源,高级工程师,腾讯云Redis系统运维负责人。6年DBA经验,一直从事SQL优化、实例调优、数据库架构、海量数据库集群运维、运营平台建设和管理等工作...

6592
来自专栏java工会

十个提高编码技能的诀窍,你掌握了几个?

1536
来自专栏追不上乌龟的兔子

七种微服务反模式

流行术语为那些逐步形成的、需要一个好的“标签”来方便交流的概念提供了一个上下文。微服务就是这样的一个新“标签”,它定义了一个领域,这个领域我自己也发现了,并且...

2239
来自专栏大数据钻研

十年Web开发技术经验感受

这里列举的后台技术,所有是我工作中所有的要点,并进行了简单的归类,如果你有更好的归类方式,欢迎提出。   我想其中的重点应该还是服务器脚本部分,例如Java,...

37412
来自专栏PHP在线

微信小程序

什么是小程序 “小程序” 是一种不需要下载即可使用的应用,它实现了应用‘触不可及’的梦想, 用户扫一扫或者搜一下即可打开应用。 这也体现了‘用完即走’的理念,...

8998
来自专栏大数据文摘

Facebook数据被滥用?8个视频案例教你用好Facebook Graph API

1462
来自专栏老安的博客

一个优雅的报警处理系统范例

1963

扫码关注云+社区

领取腾讯云代金券