Testing for Connectivity of Mobile Games
By: Ville-Veikko Helppi
Connectivity is one of the key aspects when building mobile games. Typically, mobile games communicate over the internet with various different entities; app markets (e.g. Google Play), directly with other players and their devices, or your own back-end servers. When it comes to mobile game development, both indies and major game studios are struggling to make an ideal environment for testing massive multiplayer setup. This is one of the areas where test automation can provide you significant benefits.
We discussed couple weeks ago in our Best Practices in Mobile Game Testing blog series’ the second post – UI and Functional Testing with Image Recognition how test automation can provide significant benefits to mobile game testing with help of image recognition/comparison sort of features. In
fact, test automation can also help when it comes to multiplayer testing, cross-platform testing and general connectivity testing. Not only spotting out those bugs and issues, but also significantly reduces the cost of failure, saves time through its repeatability and earlier verification, and leverages resource productivity. Using test automation for mobile game testing already in the earliest phase of development is a good way to gain those benefits and effectively use resources.
But you also need a good infrastructure for doing efficient testing for connectivity of your game. Naturally, there are plenty of options where and how testing will be conducted, but let’s take two the most common ones as an example – in-house environment and cloud-based setups. For setting up an in-house test environment, you will need servers, USB hubs, plenty of real mobile devices (phones, tablets etc. whatever you plan to support with your game), appropriate speed WiFi, and so on. Here is a good tip and check-list what you need if you built this internally.
Using a cloud-based setup is easy and effortless, and you can use various different techniques to test the connectivity aspects of your game. For example, different types of performance tests can be used. However, the most important thing in cloud-based testing is that you have plenty of devices in use – as versatile set of different OS versions, chipsets, display sizes, memory and other form factors. This enables the simultaneous smoke and compatibility testing when you do connectivity and performance testing for your game.
Whether deciding to go with either of these options, WiFi infrastructure is another very important infrastructure area that is often overlooked when creating large scale mobile test automation environments. You can get to about 10 maybe even 15 devices with any WiFi infrastructure without any problems but as the number of devices in your WiFi network adds up, so do the challenges. Those issues will start appearing when data is transferred. This gives the game developer an excellent way to optimize the data passing, infrastructure software and decide what data should be passed between servers and clients. Not everything needs to be communicated/sent back and forth. In general, it is a good rule of thumb that if WiFi cannot handle 15 devices sending all data between server and client (your game), you should seriously consider optimizing the data passing.
... to read more articles, visit http://sqa.fyicenter.com/art/