Mobile game testing differs from the regular mobile app testing. Effective game compatibility test derives from a well-structured and systematic approach, use of test automation framework and seamless integration with your agile process. Naturally, the simplistic view of testing is to identify bugs and help developers to remove them. However, to aim for efficient, result-driven testing it is mandatory to have test automation as a part of the overall development process. This is the first actual blog post on the series of the Best Practices in Mobile Game Testing. Each Wednesday for the next 5 weeks we will deep-dive into a new topic, focused on something important for mobile game developers.
Testing in general, but applying also to game testing, there are two different forms of testing that can be categorized as a Black-Box and White-Box testing. These definitions are well-known in software testing world but process-wise aren’t different with game testing. Only their goals are slightly different in-game testing:
1.Black-box testing – focuses on the functional and overall playability aspects of the game. In this type of testing, for example, testing the graphical user interface, user experience or any visual appearance is in the key role. Menus, graphical elements, special effects, animations, and the actual gameplay are those under test with Black-box approach.
2.White-box testing – focuses on the architectural, integration and systemic aspects of the mobile game: how third-party components, databases, social media/external entities, as well as graphics/game engines, audio player and so on are integrated into your game. In the test automation context, black-box testing focuses on controls, capabilities, features, gameplay, and automates the flow of testing. For this, it is typically recommended to build test scripts that know how the game is progressing, what kinds of faulty states could there be, and also focus on image recognition. As many graphics cannot be recognized as a control mechanism – buttons, menus, sliders etc. – image recognition will help to identify those that are meant for controlling (and not just as a graphical element).
Methods Used in Mobile Game Testing
The testing methodology and used forms of testing aren’t too different from app testing. The most important ones when it comes game compatibility test are as follows:
Functional testing is probably the most common method in game compatibility test. Typically functional testing is associated with manual testing and playing ‘game through’. However, to be agile, all functional testing should be automated. Functional testing – with help of test automation frameworks- requires some basic understanding of programming and setting up an environment for testing. Automated functional testing can reveal issues related to user interface (and graphics), stability, game flow/mechanism, and integration of graphics assets.
Compatibility testing is all about making that game compatible across different devices. The typical misconception with compatibility testing is that it will be only done with the final version of the game. If compatibility testing is done during all development phases – known also as smoke testing – it can help to reveal incompatibility issues with any parts of the game, its third-party components or integrations with those actual devices that end-users use. This is very important to get the game working robust and well across all possible device variants – hardware and software.