Performance Testing for Online Games and Game Servers
Online gaming is booming, and the demand for online games will be persistent in upcoming years. The global gaming market was valued at USD 173.70 billion in 2020, and it is expected to reach a value of USD 314.40 billion by 2026. One of the important growth factors is, perhaps, the pandemic, since multiple lockdowns made people stay at homes and turn to game platforms to pass the time. But it also created unexpected load growth on gaming servers all around the world.
Obviously, in such circumstances the QA sector of load testing for online games is increasing, too. In this article, we will outline what is load testing in games, why it is an absolute must to performance test games on a regular basis, what types of performance tests are applicable in the online gamedev industry, and what place performance testing holds in the game project lifecycle.
Check our last case “Performance Testing for Game Development: Process Automation”
Table of Contents
Looking for performance and load testing provider?
QA in game dev: an absolute must
Game testing is one of the most important parts in a game development process. It helps you decide whether your gaming application is ready for launch or not, locates bottlenecks and errors, helps evaluate coherence and completeness, etc. As for load testing in particular, even such huge developers as Blizzard, Valve, Grinding Gear Games, Amazon Game Studios, and many other companies specialized in massive online games, often are challenged by server load problems, although they have huge budgets to spend on servers and preliminary testing.
Gamers, however, are never patient. Rather, they are passionate people, spoiled with other mobile and desktop applications’ response time. If gamers have a bad experience with the game, they usually complain about it on Reddit or Twitter the very minute the game crashes. This causes collateral damage to the developers’ reputations, and severe financial losses, too. Due to the high likelihood that the player will abandon the game after encountering serious problems, the studio must be 100% sure that all servers and services are working great for all locations 24/7.
For smaller marketplayers and independent gamedev studios, it is even more important to incorporate load testing into their development routines, since they don’t have any reputational capacity to lose yet.
Games testing in the project lifecycle
An online game project lifecycle starts with an idea. Pre-production and production usually require participation of producers, artists and engineers. When every base component has been executed by artists and the engineers both, the production team will then manage to optimize all the parts of the game to drive it to run properly on the hardware it is being produced for. That’s where post-production starts, and a testing team should be involved, too. After they test the first game adaptation and return it to designers and\or developers, the process reiterates.
Every new release or feature requires testing, too. So, to cut a long story short, testing of online games in the lifecycle of the project should be positioned like this:
Specifics of game servers testing
Top online games should accept players from different countries. Most of the starting-up game studios are also striving to enter the global market in order to return their investment. Hence, it is vitally important for the studio to use best performance and load testing solutions in order to tune the servers for optimal performance, preferably using random IP addresses from around the world, to get a realistic assessment of the game’s performance, and to prepare the project for any potential difficulties.
In fact, web traffic in online gaming works in a rather special way. If you use Google or YouTube today, then within your session you will reconnect to dozens of different servers around the world, which are responsible for different services in the infrastructure of these huge portals. It happens absolutely invisibly for the user due to load balancers that switch traffic between different servers, so one doesn’t need to worry about the persistence of the connection between them and a specific server.
But that’s not how game servers work. In an online game, the player must be online from the beginning to the end of the session, if you try to disconnect the connection, the game will be lost. Load balancers cannot be used to redistribute load across multiple servers. And, unlike in web traffic, it is not possible to use clusters in game hosting. Therefore, it is important to load test the servers to make sure they can run smoothly throughout the game session or match.
Don’t want to run tests by yourself?
Drop us a line to find out what our team can do for you.
Types of game testing
- Functional Testing. Testers look for game play issues, graphics issues, audio-visual issues, and other generic problems.
- Compatibility Testing. Testing across different devices, platforms, various combinations of hardware and software.
- Load Testing. Checking overall performance of the game under simulated heavy loads, when multiple users act simultaneously.
- Compliance Testing. Checking the game against the marketplace regulations.
- Localization testing. Games aimed at the global market should be translated and tested in multiple languages.
- Soak testing. Identifies crashes brought by memory leaks and other faults in the game engine.
- Recovery testing. Checks how well the application can recover from crashes.
- Security testing. Checks for external threats.
- Other types of performance testing.
The most typical performance tests done for mobile games are general tests that determine how the game performs in terms of responsiveness, stability and refresh rate under certain workload or user interaction patterns, but there are dozens of ways to check soft performance, and almost all of them are applicable to online game testing. Read more in our article here.
Main risks in game testing
There are multiple reasons why gaming applications might fail. Firstly, gaming applications are complex; it’s expensive and lengthy and humanly impossible to test every possible permutation and combinations (Check our article on “Android apps performance and load testing”). Secondly, if the game doesn’t create a compelling experience for the user, i.e if it’s not fun and addictive, there’s a huge chance of failure of the project. Even non-technical aspects, such as music, unique storyline, characters, competitiveness, and aesthetics, play a huge role in its success.
Meanwhile, not every company has the budget for an extensive testing team, testing tools and devices, which is a shame. And the final decision is still to be made by the users: visual design, gaming experience, ease of use and control have to appeal to the target audience.
Load testing techniques allow game developers to anticipate the future and prepare for the challenges of scaling in advance. These are carefully planned and data-driven processes that ensure your game doesn’t crash or freeze during an online match, leaving your players from all over the world unsatisfied. If you would like to learn more about how to host your game on decentralized servers or in the cloud, or tested by thousands of AI players, contact us to get started!
Have a project in mind?
There is no better place for a QA solution than Performance Lab.
Drop us a line to find out what our team can do for you.