background image
移动测试中游戏和应用的不同之处
随着智能设备的普及和移动互联网的兴起,各家互联网巨头纷纷在往移动端布局
和转型,同时初创的移动互联网公司也都盯着这个市场希望分一杯羹。在这个大
环境下,互联网的重心已经慢慢从 Web 端转向了移动端,而移动端的软件测试
也变得越来越重要了。今天就说说移动测试中最重要的两个方向。
APP 自动化测试完全不同于手游自动化测试
手机 App 和手游的开发技术不同,这导致了两者的自动化测试技术是截然不同
的。以安卓开发举例,手机 App 一般使用 Android SDK 开发,使用 Java 编写。通
过 Android 提供的服务,我们可以获取 App 当前窗口的视图信息,进而查找和操
作按钮等控件,以完成自动化测试,如 Uiautomator。这个过程是标准化的,从
技术上来说没有任何难度,因此各个公司各个 App 自动化测试的方法都大同小
异。
但手游的开发却不是这样。手游一般使用引擎开发,现在著名的有 cocos2d 和
unity3d。两者都是使用引擎自带的语言进行开发,主流的分别是 c++和 c#,虽然
在开发过程中也有按钮等控件的概念。
手游测试
的自动化很难实现,现在也
TestBird 这种专门做测试公司能深入游戏引擎来进行自动化测试。
接下来具体说说不同之处
玩法不同导致功能测试更复杂
随机性。游戏的场景和过程是动态并且伴有随机要素的,这体现在两点。
1、你重复玩一个游戏关卡,很可能两次出现敌人以及游戏过程是不同的。
2、你玩一个手游的时候不进行操作,敌人和周围的场景也在时刻发生改变。
这两点对自动化测试带来了极大的挑战,如果测试脚本写的不够灵活,很容易导
致上一次运行成功的脚本这一次就无法运行了。我们需要在测试脚本里适当的加
入探索和自适应的功能。
App 测试就没有这个问题,大部分 App 的使用方式都是静态且可以重复的。因此
自动化测试可以完全按照测试脚本进行编写并执行。
探索性。手游和 App 的第二个玩法不同在于探索性。App 一般都是功能性的,好
的 App 需要把它的功能简单明了地告诉用户。而游戏重在娱乐性,需要给玩家
一定的探索要素。因此在做手游测试的时候,我们需要测试游戏的用户帮助说明
是否清晰,同时后续的游玩和探索过程和前面给出的说明之间是否有合理联系,
规则的指示是否有足够的提示性。
难度测试。App 希望做的越简单,用户的使用成本越低越好。而手游是有难度设