文本描述
手游上线前的五种测试的基础方法
手游测试中普遍存在的问题之一就是如何涵盖所有可能运行你游戏的设备。尽管市面上有数千款Android设备(以及iOS各个版本的系统),但其中仅有数百款真正与你的游戏产生联系。在本文,我们将探讨手游测试的各种方法,以及手游测试的基础和组成。
一、手游测试的构成和基础 让我们首先讨论软件架构。目前,许多手游均基于开源或商用游戏引擎,如Unreal、Unity3D、Cry Engine、Construct、Play Canvas、Cocos2D等(声明:本人在此列举的游戏引擎仅作说明之用,并未对该等引擎的效果作出任何推荐)。此外,这些游戏引擎中还有不少能够通 过细致的图像特效,提供能加快开发进程的工具和框架。 从传统软件的角度上看,这就像“工具—应用—中间软件”的模式,为你提供所需的产品,以及帮助你针对特定的平台编译游戏。就平台而言,以 Android为例:Android是一个附带一整套软件组件的开源系统。这些软件组件可大略分为四个层面:应用、应用框架(内容、资源、包等管理程序 层)、库(如Open GlES、Fonts、Web Kit、SGL等)和Linux内核(图像、音频和按键的驱动、电源管理等)。此外,平台还包括含有GPU和不同分辨率的实际硬件(不论采用何种芯片 组)。
除了上述一般事项外,你的手游还需通过WiFi、无线电或某种类型的通信信道,利用你自己的服务,或谷歌/苹果/其他服务与后台服务器进行通讯。测试 手游和后台服务非常重要。例如,广告是通过连接呈现,而如果这些连接无法在你的设备上正常运作,那么你可能会对核心玩家承担额外的风险。当然,他们或许更 喜欢你的游戏没有广告,但就盈利而言,在向应用商店提交游戏前,你必须对游戏进行全面的测试,并确保不会因连接出错而蒙受损失。 正如我们刚才所说的,在构建手游时,测试连接是其中一项关键任务。测试的自动化能够为你带来便利,同时还可以将游戏的最基本测试从一位用户覆盖至其他用户。 二、密封环境测试 现在,几乎所有手游都拥有服务器—客户端交互,部分甚至还要求登录、上传数据(如游戏的结果/进度)以及下载数据(如广告)。当采取这些类型的服务, 并以此构成你的游戏的一部分时,开发者需要确保他们对代码的所有变更,不论是在服务器方面或是客户端方面,都不得破坏服务的正常运作。此外,这种类型的环 境能够在本地计算机/服务器,即关键连接及用户和服务器间的交互,进行测试。事实上,一些类型的测试可以在密封的环境上进行,而不会对游戏的完整性构成损害。
密封测试如同打开你的手机的飞行模式简单。无需发送和接收任何数据。 三、兼容性测试 在开发手游时,也应该测试终端用户的游戏载体。这就意味着,你必须在真正的设备上测试你的游戏。模拟器不会为你提供真实的测试环境,因为在测试的过程 中,你需要全面认识真正的用户在手持设备上的真实行为。那么,模拟器与真正的硬件有什么区别呢?缺乏真正的硬件会阻碍开发流程,迫使开发者使用模拟器。那 么,为什么需要在真正的设备上测试?
① 软件:软件不仅仅关乎平台软件的差异,如今的OEM还对他们的软件进行了大量的定制(包括UI和定制软件)。只有广泛被使用的应用,如Twitter、Facebook等,才能预装在设备上。 ② 硬件:不同的设备存在各种差异,它们可能采用不同的芯片、GPU、连接硬件、显示硬件、传感器和内存。因此,对游戏
。。。以下略