On the eve of the start of the course “Game QA Engineer”, OTUS expert – Dmitry Shadrin prepared an article in which he spoke about the features and requirements for testing mobile games.
For the average player and user, any game is an end product. However, the path taken from idea to final implementation and release is often thorny and has a lot of inaccuracies and crutches under the hood.
For a game development team, the very process of creating it is a constant process of solving complex problems, and solutions are often not obvious to the manager of this team or to the QA. Therefore, the task of QA at the stage of immersion in the project is the ability to ask questions and document complex decisions during the development process in order to form a competent test plan in the future. In this article, we will take mobile games and their specifics as an example.
To begin with, let’s break any game into 4 main components:
Mobile games are limited by platform, operating systems, screen sizes, and device performance. If you focus on gameplay, graphics or performance will suffer due to development time constraints. If you focus on graphics, performance will suffer. The focus is now on usability, decent graphics and average performance. The gameplay is gradually developing and is issued to the player in the form of add-ons or patches to the game, thereby motivating him to continue playing.
The main difficulties in mobile development are precisely to have time to maintain the necessary balance of the 4 components above within a certain time frame. And then make it work on a huge fleet of devices and in different conditions of the Internet connection. But more on that below.
Genres and mechanics
Due to the conditional division into 4 main components of any game (gameplay, controls, graphics and performance), genres that have become established at the moment have appeared. Each of them is distinguished by a shifted balance to a specific component. Someone focuses on deep gameplay, someone tries to make a simple game with mediocre graphics, but excellent controls. And some try to stretch all 4 components evenly.
At the moment, I can distinguish the following genres of mobile games:
Accordingly, there are special mechanics that can be used in mobile games:
Touch / Swipe / Multi Touch are basic control mechanics on mobile devices that lead to similar simple mechanics from the PC industry (click, drag and drop). These mechanics are most often found in board games, in some adapted RPGs, arcades, Match 3 and Hidden object.
Virtual gamepads – this control mechanic is fundamentally different from the mechanics of a regular gamepad, which you can get acquainted with on consoles or PCs. Since it is created from separate active elements, the mechanic is highly likely to conflict with other interface elements. In addition, in most implementations, virtual gamepads are highly customizable, which can only increase the risk of creating a defect. This mechanic is universal and can be applied in such genres as RPG, Adventure, Arcade, Racing, Platformer.
Mechanics based on a gyroscopic sensor. Implementation can be either a normal auto-rotate, which affects the location of interface elements, or a full-fledged aiming aid mechanic in some shooters.
The specifics of testing mobile games
For testing any product on a mobile platform, the following features can be distinguished:
The first feature of mobile platforms – Screen size.
If iOS has a clear tendency to enlarge the screen while maintaining excellent picture quality, then Android has a huge variation in both screen diagonals and resolutions.
iPhones of the latest generations have got a system shutter, which often covers important UI elements. When the problem with the layout of the game’s UI is solved, the issue of tablet support is raised. And here we are again pleased with Android, which also has huge palettes from all kinds of tablets. Much of the testing is devoted precisely to checking the correct display of the UI and the game itself on various screens and resolutions.
The second feature of mobile games – inputs or way of interacting with the game.
Whereas console and PC games have dedicated input devices such as a gamepad or keyboard, mobile devices use taps, swipes, and multitouch. Initially, management is based on tapas for interactive elements. The controls are then complicated by the support for swipes to switch across UI screens. Well, then the MultiTouch support is pulled up for simultaneous pressing on various elements of the screen.
The third feature of mobile games – support for interrupts.
Each mobile product supports a whole interrupt system. Incoming call, push notification, incoming SMS, low battery alert, rollback / reversal, and so on. The game should behave correctly during such interruptions, not resetting the player’s progress and allowing him to return at any time.
The fourth feature of mobile games – a way to connect to the Internet.
A priori, a user cannot always be online. Mobility means that the player can be anywhere: in the subway, in the forest, at home with WiFi, on a walk with 4g. Therefore, games should behave correctly when switching between the main communication states: mobile communication (2-3-4g, the speed E is frightening for many), WiFi, disconnection of communication (flight mode, signal loss). Part of the gameplay should allow you to play the game without the Internet, in order to later download your progress when the signal is restored. If the connection is unstable, you can display messages about the quality of the connection. An unstable connection or a weak signal leads to various bugs: – “teleportation” of the player’s model in team shooters. A player with a weak Internet rarely sends packet data and the rest receive only intermediate data about his movements along the coordinate system – high ping, which makes it impossible to play normally in games for reaction and network component – loss of player progress
Fifth feature – productivity. One of the most important parameters for any game. The player will not like it if the game slows down on his favorite phone and looks like a slideshow instead of a normal smooth picture. With the support of weak devices, the developers try to underestimate the texture size so that the game can work correctly at a minimum of 30 fps.
Testers need to conditionally separate target devices for their game:
the minimum bar, the weakest devices. By default, they are set to the lowest texture resolution and the number of frames per second should not fall below 30
middle segment – the most popular devices. Here the quality bar for frames is aimed at 60, texture resolution is average. The player can independently switch to the desired texture resolution, if he thinks that his phone “copes” with heavier graphics.
flagships – new and latest phones. Here the minimum bar for fps remains 60, the quality of textures is close to the maximum allowable. Attention is also paid to the quality of displaying effects, shadows and anti-aliasing.
Mobile game testing requirements
The test device must be the correct OS version to test on different operating systems. This is especially true for Android devices that allow the installation of all kinds of firmware.
It is worth starting testing by checking the installation of the build and its correct launch. The main screens of the game are checked: loading screen, presence of all main icons and UI. Loading the starting or main scene.
Next, the installation over the old version is checked – there should be no conflicts and errors, the player’s progress should be transferred from version to version without visible bugs and discrepancies.
Next, the core gameplay is tested. For this, a pre-compiled checklist of all gameplay checks serves as an assistant.
The work of all game mechanics, which are also included in the checklists, is checked.
General mobile cases are checked: working with interrupts, turning / turning on the main screens, working with system buttons.
A separate item is always checking the work with the connection. Disconnecting the Internet, simulating a bad connection (throttling), actively switching between mobile and wifi modes.
The final check is always to check in-game payments. If they are absent, the version of the advertising SDK is checked and its correct operation. Roughly speaking – advertising should be called after certain events of the game and correctly work out, adding bonuses or currency to the player after watching it.
At first glance, testing games is more difficult than conventional mobile applications. An abundance of game mechanics, undocumented solutions in development, a large amount of content … But if you plan the process correctly and conduct several fully functional regression tests, QA will have a complete idea of the weak points of the game he is testing and the list of checks for it.