No – 1: User Interface and Functionality
The User Interface and the gameplay of the game determine the success of the game in the market. One has to ensure that device fragmentation doesn’t break any of these. In the UI various things need to be tested:
- UI layouts and elements: All games are typically targeted for the maximal set of different screen resolutions and different types of screens. Regression testing should be done each and every time when UI layout changes to ensure that game works.
- Menu structure and functions: Testing menu structure, functionality, and correct behavior can be automated with the help of different test automation frameworks.
- Screen orientation: Surprisingly, this gets so wrong with many games out there. For example, if screen orientation changes during the game what happens, and what actually supposed to happen? Does the game work well in both landscape and portrait modes?
- Screen resolution: There are lots of screen resolutions especially on Android and typically auto scale can help game developers. However, it is highly recommended to test your game across these different resolutions to ensure that the graphics do not get stretched.
No – 2: Graphics Performance
Performance needs to be consistent across all different device variants that your game’s users have. Because of this, it is highly recommended that you use as many real devices for testing as possible. In order to determine how well your game responds to various levels of usage, you should consider creating tests which last for hours to observe how well the game as well as how much of battery is used during long usage. To determine if your game will be able to run successfully for a sustained duration under heavy load, Load/Stress tests can be used. The performance tests will measure how responsive your game can be on a real device.
For example, take a look at Gamebench. It can help game developers to understand those potential bottlenecks in performance, reveal unused potential with CPU and GPU resources, and help to push the boundaries of Android gaming and visuals, without forgetting the most important thing – a need to test the game on real devices.
No – 3: Usability and User Experience (=Good Entertainment)
Testing usability, navigation flow, and eventually, what user experience your game delivers to gamers simply cannot be done on a desktop with a mouse and keyboard. So forget emulators and use only real devices for testing. And to get the best possible understanding of how great usability and entertainment your game is providing, here are two important things you should consider when testing ‘user experience’:
User Interactions and Excellent Responsiveness – It is important to test the game for its performance as this will make either the positive or negative user experience. For example, performance lags are easy to expose using actual devices.
Real occurring events on background – Interrupts, battery consumption, how charger effects to overall performance and usage. These all have the significant impact on user experience – and good entertainment level.
No – 4: Multi-player/User Features
Nowadays, multi-player/user feature is very common in mobile games. A need to test multi-player abilities is there and is naturally more challenging and requires the other end to perform as a real counterpart. For example, the typical case is that the game communicates with the backend server. In these cases, connectivity is essential and the synchronization between backend and devices that need to get information about the gameplay. There are tons of different scenarios you should be testing and many of those will severely impact the game’s experience, resulting in negative feedback and gets uninstalled by users.
No – 5: Social Integrations
Social network integration is also very important part of your game. In many games, it is essential to be able to share results across your ecosystem, friends or just for yourself. This should be thoroughly tested in the context of real Android and iOS devices, with different OS versions and different device configurations, to understand the functionality and easiness-of-use.
No – 6: Security and Liabilities
Nearly all game developers use some open source components as part of their game. This is highly recommended and well-accepted development practice as it offloads the task of developing code for non-core functions in your mobile game. However, identifying third-party code, its vulnerabilities, and license restrictions are very often neglected by game devs.
This was the first blog post on the series of the Best Practices in Mobile Game Testing. Next time we will focus more on graphics, image recognition and other things related to improving testing for your mobile games.