尽管苹果的市场份额不如Android，但是在帮助你创建策略方面苹果的确是一个非常优秀的操作系统。为什么这么说呢？如果从QA角度来看一切便会一目了然了。到目前为止苹果总共拥有13个版本的iPhone，6台iPod，6台iPad，4台iPad Mini以及iPad Pro。即苹果总共拥有31台设备。一直以来在软件更新方面苹果都具有很强大的说服力。从很大程度上来看，大多数iOS用户使用的都是最新的OS版本，而这对于iOS应用开发者来说无疑是个好消息。
今天手机游戏开发者所面对的挑战与PC开发者在过去几十年里所面临的挑战一样，即如何基于各种显卡，声卡，CPU，RAM和操作系统去测试软件。不过因为制造商标准化了创造过程，所以手机设备的处理过程会轻松些。CPU和GPU是名为系统芯片（SoC）的配套包装的一部分。如果一台设备打着拥有Snapdragon 801 SoC的广告，我们便清楚它的CPU是Krait 400而GPU是Adreno 330。
一份有效的QA策略必须考虑到所有相关手机设备的信息。即QA测试数据库中必须包含设备的制造商，型号，操作系统，内核，芯片，CPU，处理器速度，核心，GPU，分辨率和内存等等。每一台新设备的发布都能够与相似的设备进行比较。例如LG Nexus 5X便使用了Snapdragon 808 SoC。这与LG G4的SoC一样。如果预算和时间不够的话，即对于手机游戏来说，在这些设备中的一台进行测试便意味着结果也适用于其它设备。
任何软件开发者都认为，硬件问题是最棘手的。当一款游戏进入QA阶段时，开发者的第一个任务便是尽快将其安装在各种设备上。这能够保证在投入更多钱和时间进行功能测试前游戏便已经出现在硬件上了。因为设备数量过多，在每台Android设备上安装软件是不可能的事。而为了获得更广的覆盖面，开发者可以基于SoC的规格范围去选择测试设备，这也能够有效避免重叠。如果开发者能够在最初选择的设备中发现问题，那么他们便能面向更多与之相似的设备。这能够有效地节省大量时间，帮助开发者准确瞄准目标发行对象，这也是推动他们在App Store和Google Play上获得成功的关键。
举个例子来说吧，最近关于游戏的硬件设备测试发现，某款应用不能发行于三星Galaxy Tab 3 10.1上。进一步的调查显示，该应用不能发行于任何运行Intel Atom SoC的设备上。这一测试在测试的第一天便马上明确了有关多款硬件的问题，从而帮助开发者节省下大量需要用于修复漏洞的时间。这 也是优秀的手机QA策略的优点：让开发者能够将资源专注于最有帮助的内容上，即创造真正优秀的内容。
Testing for Success: Devising a Mobile QA Strategy
by Jeremy S. Barnes
The highly competitive mobile games market grew to $25 Billion in revenue in 2015. The market has matured and the stakes are getting even higher for game developers competing with thousands of developers while contending with rising development costs. One way to manage mobile game development spending is by building a Quality Assurance strategy. The right strategy can minimize resource commitments and reduce the overall product development cycle.
Every mobile game developer shares at least one critical success factor for their project: cover the largest possible market segment – or – make sure your game is compatible with the most popular devices on the market. Building a smart QA strategy is part and parcel to this objective.
While Apple has significantly less marketshare than Android, Apple is a good operating system on which to start building your strategy. Why? It’s fairly straightforward from a QA perspective. To date, there have only been 13 models of the iPhone, 6 iPods, 6 iPads, 4 iPad Minis plus the iPad Pro devices. Apple devices total 31. While it’s important to cover the older version of the OS, Apple has been very persuasive when it comes to software updates. For the most part, a majority of iOS users are running the latest OS, which is great news for iOS app developers.
Apple’s 31 devices are nothing compared to the massive number of Android devices. There are dozens of manufacturers of the Android device, each with numerous versions. Samsung has released ten models of the Galaxy in the US alone. Motorola, LG, Nexus, HTC, ASUS, Sony, and others each have numerous product lines that must be taken into consideration. The sheer number of devices on the market combined with the different operating systems available can make testing on Android extremely complex, creating an unnecessary resource burden – resources that can and should be invested in the game experience or marketing. The need for a hardware strategy is an absolute necessity on Android.
The challenge mobile game developers face today is the same challenge PC developers have been facing for decades: How to test software with the infinite combinations of video cards, sound cards, CPUs, RAM and operating systems. Mobile devices are somewhat easier to deal with because manufacturers have standardized the building process. The CPU and GPU are part of a set package called a System on a Chip (SoC). If a device is advertised as having the Snapdragon 801 SoC, then we know that the CPU is the Krait 400 and the GPU is the Adreno 330.
A well thought out QA strategy should account for all of this information for all relevant mobile devices. Manufacturer, model, OS, kernel, chip family, CPU, processor speeds, cores, GPU, resolution, and memory should all be recorded by device in a QA testing database. This should be kept in a database that is a living tool, evolving with the introduction of new devices. Every new device launch marks an opportunity to compare it to similar devices. For example, the LG Nexus 5X uses the Snapdragon 808 SoC. That’s the same SoC as the LG G4. If budgets and timelines are tight, as they often are for mobile games, testing on one of these devices should mean that the product will run on both (barring significant differences with the device OS).
Any software developer will attest that hardware issues are often the hardest for them to fix. One of the first tasks when a game enters QA should involve installing it on a large assortment of devices as quickly as possible. This is to insure that the game launches on the hardware before more time and money is spent doing deep functionality testing. It all comes back to money and time. Based on the sheer number of devices, it’s simply not practical to install software on every Android device. In order to get as much coverage as possible, the devices tested should be chosen based on a wide range of SoC specifications thereby minimizing overlap. If an issue is discovered in this initial batch of devices, the test can be expanded to encompass more devices using similar hardware. This saves precious time, helping developers hit their target launch marketing windows, which is increasingly critical to success on the App Store and Google Play.
As an example, a recent, initial hardware device test on a game found that the app failed to launch on the Samsung Galaxy Tab 3 10.1. Further investigation revealed that it wasn’t launching on any devices running the Intel Atom SoC’s. The test quickly identified a critical issue with a large subset of hardware on the very first day of testing, saving the developer many, many hours chasing down a bug. That’s what a good mobile QA strategy is all about: allowing developers to focus their resources on what they do best – creating great content.
Building a well thought-out QA strategy is the best way mobile developers can mitigate some of the resource burden and risk associated with that last, critical phase before bringing a new app to the marketplace. It can mean the difference of success or failure in the highly competitive mobile marketplace.（source：gamasutra）