Appearance
Appearance
INFO
Work in Progress: Testing is a difficult thing to do right, and doubly so in games. We are slowly evaluating and introducing more testing tools and automation as the Metaplay SDK matures. If you have opinions/hopes/wishes about how testing should work for your game, let's talk about it!
Tests give confidence that your game will run as expected whenever new code is introduced or existing code is changed. Usually, you introduce code changes yourself, but sometimes the changes may come from external sources such as the Metaplay SDK or third-party libraries. Either way, you need to ensure your game still functions as it should whenever such changes occur.
Modern F2P games could be described as complex possibility spaces that evolve over both the player's playtime and the world's time. This means that verifying the correct functioning of a large game after any given change is practically impossible. What we can do instead is to increase our confidence in a build by strategically testing it in ways that fulfill some requirements:
Automated testing is a good way to introduce critical path test coverage economically. This way your game team can focus on testing the mushy and squishy new game features for interesting edge cases instead of randomly completing game quests for the five millionth time.
If you find yourself testing something over and over again before a release, it's a good sign it's time to automate it!
Unfortunately, Unity client code is notorious for producing obscure null reference exceptions due to its dynamic nature. We're working with all our customers to find issues in the Metaplay SDK's Unity client libraries and roll them out to everyone in regular updates.
We highly recommend integrating an error reporting tool like Unity Analytics to collect runtime errors, since actual automated tests are often not feasible for the client.
To test game logic the Metaplay SDK provides the BotClient. For more information on running the BotClient see the BotClient Testing page.
Metaplay SDK's BotClient is also a great way to cause real-life pressure on the Game Servers. We have set up infra tooling to quickly spin up a large number of BotClients in AWS to simulate high CCU situations with hundreds of thousands (or more!) of concurrents.
Performance testing is a critical part of a game's pre-launch roadmap but can also be useful when introducing new major components to the game to make sure the infrastructure will hold up as expected.
Performance tests typically last from hours to a few days to see if any issues build up over time.
The dashboard is tested with both e2e and unit tests. For more information on dashboard testing, see the Dashboard Testing page.