Our topic of discussion will revolve around the ways of testing a gaming application. Game Testing, a subset of Game Development, is focused on finding bugs in the gaming application, though its objective extends much beyond bug tracking. In short, it is a software testing process used for quality control of video games.
Gaming is an activity that interests people of any age group, a little mistake in delivering the right product can completely jeopardise the brand name of the development company. The end product must satisfy both the Publisher as well as the game player.
Now let us understand the criteria followed in the process of game development. At the very initial stage, a testing requirement document is prepared which includes the following :
A complete list of features to be included
Specifications of the internal and external design of the game. This is necessary to understand few aspects of the game namely- theme of game, the AI, animations, font to be used and so on.
Describe the testing structure in a detailed format. (either in a spreadsheet format or any other format).
List the various ideas for carrying out testing.
Also mention the criteria for completing the test, like the expected results.
Game Testing and its Stages :
A game project has various stages and each stage is expected to pass through testing. Following is a list of test requirements for various stages.
Requirement Stage - This is concerned with reviewing the game idea, features to be integrated and the requirement document.
Game Design Stage - At this stage, conceptual design for the new features to be added, are considered.
Technical Design Stage - It comprises of both the technical design document and feature specification document. This stage takes into account the game architecture, session manager, front-end, AI, animations etc.
Development Stage - This is the stage of beginning with the coding part. It integrates the work done by designers and other teams to construct the game.
Review Stage - This stage is concerned with reviewing the developed product with white-box and black-box testing approaches.
Regression Testing Stage - This includes alpha and beta testing at the final delivery stage.
Game Testing Checklist :
The following checklist enlists the review process that suffices the test criteria for the requirement and design phases.
To ensure that the requirements are apt for the new game.
Check for its completeness.
Verify if the goals are achievable and realistic.
Compare with competitor games for compatibility.
Verify if the targets are measurable.
And most importantly, if such game criteria is in line with the future of our business.
The above points cater to the requirement criteria.
Technical design document :
Is the design good enough?
Does the design fulfil the expected criteria?
Is the design implementation achievable?
Ensure if the design is equipped with the necessary error handling methods.
Does the design meet the standards of the architecture?
Has the design been reviewed thoroughly and received approval?
The above checklist description provides a general view on the subject of game testing. We can go even deeper to understand in detail what are actually the various aspects that are considered while developing a game and what follows thereafter.
Let us take an example of mobile game testing wherein various factors are tested by the team like:
Background Music and Sounds - check if the sound's ON/OFF function works during game play and also if it is in sync with the game.
User Interface - test if the game is working in both landscape and portrait mode, whether the animations are working same in both the modes, check screen display, characters, game loading indicator, scrolling and so on.
Performance - Test the time taken by the system to load the game and also the game flow.
Score - It includes, score calculation, level completion, scoreboard etc.
Multitasking - Test if the game app works fine while switching between applications.
Pause - This is to check if the game is paused in case of a received call, message etc.
Save Setting - Whichever setting is provided, it should work fine and is saved when a user wants to make any changes.
User Profile - While creating user profile, it must include username, password in encrypted format and also an option for uploading user pic.
Chat Feature - Check for profile images, maximum limit for chat description, and also notify user on the event of a message received.
Functionality of the Game - Test the logical flow of the game, the game area, check all the levels of the game, check scores(hikes, bonus etc.), menu options, location detection.
About Screen - This section generally includes information relating to the game developer and what the game is about.
Memory Leak - Battery low information must appear on screen.
Device OS - Check for platform independence, whether the game works as expected on respective platforms.
Interruption - If the game is active and the user receives any call, or wants to open bluetooth during that time, then the game must retain the position where it was left.
Upgrade Game - Game must upgrade itself while keeping the data(score, user profiles) of the user intact.
Battery Effect - Check what happens if suddenly the battery goes down and the phone gets switched off, the scores are saved or not.
The overall process of game testing goes through a final review process that is done by QA. A game testing plan must be designed in a way so that the test document is consistent and reusable.