Automation Testing for Creating Games on Mobile Phones

Game testing is intense. Features must be properly designed and deployed, usability testers will test new features, QA testers will try and find bugs, and penetration testing services will make sure there are no security holes.

And that’s just some of the testing lifecycle in game creation.

Games, especially in the world of apps, evolve with new features, bug fixes and updates that need to be routinely tested. Players expect games to be “polished” and to run exceptionally well, whether the game comes from a small Indy developer or a major development studio. Bug fixes and patches must occur rapidly.

This is where automation testing benefits game developers most.

Types of Automated Tests for Mobile Games

Testing will occur from pre-development or production and will continue throughout the lifespan of the game’s development. A lot of testing from the initial pre-development phase will be removed as development progresses.

The different types of automated tests for mobile games are:

Compatibility Testing

Will the game install and uninstall on multiple mobile operating system versions? Android and iOS deploy updates to their operating systems, often leading to some users on older devices that may no longer be supported.

Automating the compatibility testing phase ensures that:

  • Players without the newest operating system can run the game
  • Revenue and downloads can reach a larger audience

You should be conducting these tests routinely. Of course, your game will not work on every operating system version, so you’ll need to set a cut off of which versions you would like to support.

For iOS, you may choose to support devices running iOS 12 or newer.

Performance Testing

Performance tuning is one form of testing that works exceptionally well when automated. Through performance testing, you’re able to address key performance issues, including:

  • Issues during peak play times
  • Network coverage
  • Memory leaks
  • Abnormal battery usage
  • CPU and memory consumption
  • Load times
  • Game speeds

All of these metrics are important to game developers and players. Conducting thorough performance tests allows for better user experience and higher player satisfaction.

You’ll also learn about the constraints of the game and the network it’s running on.

Soak Testing

The idea of soak testing is to allow the game to run for long periods of time, even if the player is idle for 12 hours, to determine what occurs when they return back to the game. These tests can occur on multiple game screens and in many situations to find:

  • Errors
  • Memory leaks

With soak testing, it’s possible to find potential faults in the game engine which may go overlooked.

Recovery Testing

Data integrity and recovery are concerns, especially on mobile devices where the device can restart or a battery can die without the user realizing it. The recovery testing allows for the developer to determine what happens if a device crashes or some form of hardware failure occurs.

The testing will often include:

  • Data integrity testing
  • Data repair

Developers will learn that recovery testing can lead to better recoverability for players while also strengthening the game engine and oftentimes leading to better overall performance.

Security Testing

Penetration and secure tests can be automated, to a high degree, and will need to be conducted on both the game and the residing server. These tests are becoming increasingly important because a data breach or security hole can lead to substantial losses for the developer.

Security testing will entail checking for:

  • Operating system issues
  • Data leaks
  • Encryption issues
  • Much more

As players become more involved in their own privacy, it’s more important than ever to conduct penetration and security tests on your game and servers. Bugs and potential security issues can present any time source code is updated.

There are going to be some forms of game testing that don’t get automated. Blizzard, developers of some of the world’s largest games, still have dedicated testers for integration and play testing.

Why?

There are some tests that are either too difficult to automate or that are ideal for manual testing.

When integrating automated testing, it’s important to determine which tests should and shouldn’t be automated. As your mobile game becomes more complex and more users start playing your game, automated testing will lead to the concept of agile development and speed up development.

Latest News