TestBird 移动互联测试专家

TestBird全球首家发布《2014中国手游兼容性测试白皮书》134812个兼容性问题,导致800万玩家流失

TestBird全球首家发布《2014中国手游兼容性测试白皮书》134812个兼容性问题,导致800万玩家流失

您知道您的手游有多少兼容性问题吗?您知道这些兼容性问题都是什么原因造成的吗?您知道怎么去解决这些问题吗?您以为兼容性测试只是安装和启动测试那么简单?您知道过去这样的轻视和忽略很可能给您造成了上百万的损失吗?

近日,由专注手游的云测试平台TestBird撰写的《2014中国手游兼容性测试白皮书》(以下称白皮书)正式发布。这是全球首次针对手游兼容性问题进行研究和解析的白皮书,首次为业界定义了10大手游兼容性问题,完整展现了手游兼容性问题现状,系统诠释了手游兼容性问题的分类,深度解析了手游兼容性问题的根源,并提供了诸多专业的可行性解决建议。

通过白皮书,也许你能更清楚地了解上述问题的答案:作为手游上线前必经的第一关——兼容性测试,远非想象的那么简单。

16项指标,首次定义手游兼容性

到底什么是兼容性问题?用哪些指标可以准确考核和定义兼容性问题?哪些性能指标会影响到手游兼容性?以往,我们单纯地将手游兼容性测试等同于安装和启动测试。可是如此的草率和不专业,意味着在手游上线前的第一步,您就已经错失先机。

TestBird已经测试了近3000款手机游戏,发现134812个兼容性问题,通过对这些问题进行深入分析,TestBird首次在行业内对影响手游品质的兼容性问题和性能指标进行了明确的定义。

白皮书里将兼容性问题分为10大类,分别是安装失败、启动失败、游戏闪退、游戏卡顿、游戏卡死、数据异常、UI异常、游戏链接异常、程序异常、游戏黑屏。性能指标则包括CPU占用率、内存占用值、IO等待率、温度、启动时延和流量共6项。

兼容性问题释义:

安装失败
游戏app在某款手机上进行安装操作,但是没有安装成功。

启动失败
游戏app安装成功,但是无法启动,或者启动后马上自动退出。判断标准:启动后,检测游戏画面是否可见。

游戏闪退
在游戏过程中程序崩溃导致意外退出。判断标准:崩溃日志与游戏画面结合分析。

游戏卡顿
在游戏过程中运行不流畅,画面切换卡屏。主要原因是CPU或者内存占用过高,需要CP进行优化。

游戏卡死
手机系统无法正常运行,不接受输入事件,但游戏没有闪退。游戏触发了手机的系统级BUG,引起系统崩溃。

游戏黑屏
手机系统正常运行,但游戏无法正常运行,没有显示任何UI界面。

数据异常
游戏客户端与服务器数据交互异常,但是链接未断开。通常是手机游戏与服务器交互接口设计没有经过充分验证,导致异常数据在服务器与手机游戏之间传输。

UI异常
UI界面显示紊乱。主要原因是分辨率差异或者游戏场景切换逻辑代码书写有误。

游戏链接异常
与服务器交互链接发生异常。通常由于开发人员没有考虑到网络编程中的异常,或压力过大引发服务器崩溃。

程序异常
游戏运行时出现异常提示或现象。

性能指标解释

CPU占用率(%)
游戏进程占用的CPU资源,cpu使用率过高,说明游戏比较耗电,而且容易卡顿。

内存占用值(kb)
游戏进程所消耗的手机内存,内存占用高容易引起游戏卡顿甚至闪退。

IO等待率(%)
游戏进程进行IO等待所占用CPU时间百分比,占用率过高说明游戏进行了大量的io操作,例如文件读写。

温度(°C)
通过android温度传感器获取的手机温度,跟手机cpu占用率成正比。

启动时延(ms)
对游戏发起启动指令,到真正进入游戏第一个界面所消耗的时间,反映了游戏的加载速度,跟游戏资源包大小有关。

流量(bps)
游戏运行过程中所消耗的网络流量,主要集中在游戏与服务器交互过程中产生的网络消耗。

1款游戏52个兼容性问题,损失高达六位数

在手游产业,任何一款手游产品都必须经过兼容性测试后方可上线。然而,由于传统的兼容性测试周期长,测试成本较高,加上兼容性问题属于隐型问题,不及游戏画面、游戏内容和操作设计等因素那般具象,导致兼容性问题长期未受到手游开发者的重视,但因兼容性问题导致的用户流失和成本损失,却是以数十百万计的。

《2014中国手游兼容性测试白皮书》的研究数据显示,平均每款游戏存在52个兼容性问题,因为不兼容造成的用户流失率达21%,假如每款游戏20万用户,按照行业常规,一个用户的导入成本为10块,那么每款游戏因为兼容性问题导致的成本损失将达到20万人*21%*10元/人=42万元。

从如此高额的成本损失可以看出兼容性问题已经刻不容缓,成为手游开发商迫待解决的关键问题。

12类游戏,兼容性问题各有不同

白皮书打破了传统手机兼容性测试粗糙的分析方式,利用TestBird手游自动化云测试平台强大的游戏分类能力,在对卡牌游戏、策略经营、角色扮演、塔防游戏、跑酷竞速、飞行射击、消除游戏、棋牌扑克、动作格斗、体育运动、虚拟养成、休闲益智等12个不同类别的游戏进行逐个分析后发现,整体上来说动作格斗和角色扮演类兼容性问题最多,但是在每个具体的问题上,每类游戏确实各有不同。

通常意义上,几乎所有人都认为角色扮演和动作格斗类RPG重度游戏应该是流量消耗最大的一类游戏。可是通过白皮书的研究却发现,平均流量消耗最大的实为虚拟养成类中度游戏,而RPG重度游戏甚至连前三都排不上。

白皮书的报告还显示,在CPU占用率上,体育运动类游戏最高,棋牌扑克类最低;在启动时延上,飞行射击类游戏最大,体育运动类最小;在内存占用上,动作格斗类游戏最高,棋牌扑克类最低;在IO等待率上,酷跑竞速类游戏较高,体育运动类却较低;在手机平均温度上,卡牌游戏最高,体育运动类最低。

37%+19%,闪退和卡死才是最主要的问题

过去由于传统的兼容性测试方式仅仅只是测试安装和启动两个项目,测试者对游戏启动后将会发生的事情一无所知。也正是因此,通常的认知中手游兼容性问题最突出的往往是安装失败和启动失败。

然而现实是,随着安卓手机的快速发展,以往的问题重灾区安装、启动问题在所有问题中的占比越来越低,绝大部分问题是在游戏运行后发生的。而要发现这些问题,就必须要深入到游戏内部进行测试。

TestBird采用了全球领先的鹰眼引擎测试技术,在深入近3000款游戏内部进行测试后,对发现的134812个兼容性问题进行了统计分析,发现游戏闪退、游戏卡死、UI异常才是兼容性问题占比最高的3大类问题。其中游戏闪退现象最为严重,占比高达37.18%,游戏卡死现象占比则达到了18.53%。

针对这些问题,白皮书还从游戏分类、游戏引擎、CPU品牌、内存大小、系统版本五个方面进行了全面细致的分析,从软件到硬件全面解读了手机游戏闪退和卡死相关的数据。试图为开发者提供更加准确的解决方案,解决开发者在游戏开发过程中的难点。

闪退分布如下:

816款手机,主流品牌兼容性问题较少

市面上,安卓系统的手机品牌高达数十个,从三星、联想、华为等主流品牌到其他非主流的品牌手机,到底哪个品牌的手机兼容性较好?不同手机内存大小对手游兼容性影响到底又有多大?另外,不同品牌手机的CPU也有所异同,那么不同的CPU是否也会影响到兼容性问题的发生?

TestBird通过对816款测试手机,历经近3000款游戏测试后发现:对比各品牌的兼容性问题数,主流品牌的兼容性整体好于非主流品牌。兼容性问题最少的品牌当属三星,每终端每款游戏的失败率(即平均每款终端在每款游戏上的不兼容率)仅有3.82%,联想和小米的兼容性也表现优异,失败率不足5%。而其他非主流品牌的失败率则高达10%以上,兼容性问题非常严重。

在内存大小对手机游戏的兼容性的影响方面,白皮书的研究表明,内存越大出现兼容性问题越少,256M的兼容性问题最多,兼容性问题检出率高达82%。而随着内存的加大,兼容性问题发生概率明显呈现出逐步减小的趋势。

而在不同CPU品牌在兼容性问题的表现上,展讯出现的兼容性问题占比最大。兼容性表现最好,检出率最低的,并非我们所熟知的联发科和高通两大类CPU品牌——当然,它们二者表现也不错——而是海思和Mmarvell。

*兼容性问题检出率:即兼容性问题的数量占该品牌总数的比值。

此外,白皮书还针对不同游戏引擎的兼容性问题发生概率进行了研究,发现自定义引擎出现的兼容性问题最多,检出率达32%,而常用的cocos2D-X和unity3D游戏引擎的兼容性问题的检出率分别是28%和27%,相对表现较好。

16条建议,提供完整兼容性问题解决方案

话到此处,或许你已经开始明白兼容性问题远非想象的那么简单。可是,这些兼容性问题究竟该如何解决?

“我们将报告奉献给广大的手游CP、发行和渠道,希望能给行业分享一些经验和干货,打造更精品的手机游戏。”这是报告开头的第一句话,透过这句话,能了解到TestBird发布这份白皮书的初衷。而在长达47页的白皮书最后,TestBird也确实毫无保留地针对各项兼容性问题,叙述了详尽的解决方案。

如针对闪退、卡死、UI异常三大手游兼容性问题,并给三类问题给予详尽的解决建议,但因篇幅有限,现只能在此做简单综述,以飨同行:

闪退问题出现场景各不相同,常见原因为内存不足、温度过高、系统不兼容、cpu不兼容等。开发人员可以根据问题现象,分析logcat和BUGreport日志来定位原因,找到闪退原因后根据需求优化。

游戏卡死现象很像ANR(application not response)。系统在一定时间内发现UI thread没有响应,就会出现弹框报错。比如输入事件,等待通常是5秒。主要原因是在UI thread做了不必要且费时的操作。比如访问网络操作、本地数据读写操作、游戏计算下一帧数据操作。解决方案是把这些费时用异步的方式完成。UI thread只做响应用户操作以及绘制UI的事情。开发过程中可以StrictMode来检查一些潜在ANR的代码风险。开发完以后,可以使用android工具Systrace和Traceview对游戏的性能瓶颈进行分析,避免ANR。

而游戏卡顿问题,通过对10016个UI问题的统计和分析,TestBird认为导致UI异常主要有两方面的问题:

1)和安卓手机分辨率相关,如手机分辨率尺寸,游戏上控件排版时需要考虑分辨率,避免使用pixel unit,考虑使用dp(Density-independent pixel)、sp等.可以了解多尺寸多密度屏幕支持等相关文章。

2)和游戏引擎相关,如Unit3D引擎游戏,使用系统字库,容易出现在OPPO等手机终端上,字体无法显示,原因为部分安卓厂商深度定制安卓系统,导致部分U3D引擎游戏,调用的系统字体不能显示。解决建议为使用其他字体库。

《2014年手游兼容性测试白皮书》整个研究历时8个月,测试多达近3000款手游,整理分析了上万份的评测报告。而这些数据和报告正是基于TestBird独创的领先测试技术优势以及其作为国家手游测试中心的权威地位,并且透过这些真实的数据,白皮书才能首次真正地对手游兼容性问题进行系统而全面的研究,并与广大手游行业同仁共享。

TestBird