Software testing is a process of executing an application in order to find the variations between expected behavior and actual behavior and reporting them as bugs. Software testing raises the quality level of the software. Similarly, testing of video games is known as Game testing.
Video games are also considered as software that needs sufficient testing before releasing in the market .Game testing is a software testing process for discovering and documenting the defects while testing video games, it is part of Game development.
How do we Test Games?
This process is similar to product or web application testing. The game testing process is as follows:
Game rules should be analyzed and identified.
Ensure game works as expected. This also includes integration testing with third party tools used if any.
OS and Browser compatibility:
Most critical part in game testing is to ensure game works on required Operating systems. For online games functionality on all intended browsers needs to be checked.
Performance Testing becomes an integral criteria when it involves huge number of players play simultaneously especially while playing online games hence it is important to validate whether the gaming site runs well without interruption.
In multi-player gamer, testers should verify whether game can handle all players with equal distribution of resources to all players.
Bugs found during testing needs to be reported to developers. Bug evidence need to produced and submitted through bug reporting system.
Developers are responsible for bug fixes.
Once the bus fix is done, testers should ensure the bug fixed should not reappear.
Game Testing Strategy:
Evaluation of game rules:
Game rules should explain components of games such as game features, how it should be played etc. Game functionalities are defined by rules.
UI, Functional, Performance and Compatibility test:
Game testers should verify the functionalities of games such as correct results are produced, progress and management of incomplete and restarted games when they are played.
Verification the Integration points:
Check if game win determination aligns with game rules.
Reviewing gaming procedures:
Procedures should be reviewed from player account and System Managements.
Infrastructure and security review:
This involves verifying secure and reliable network operation for game platform.
Scientific approaches in Game testing have the following purposes:
Game functionality includes testing for correctness of functionalities such as environments, textures, Stability issues, game messages and elements.
Many of the games are not stand-alone system as they need to interact with hardware devices. Protocol compatibility and hardware pin assignments should be compatible for both software and hardware side.
It is known that most of the games are from japan, hence scripts may have inconsistencies when translated from one language to another. Unlike functional testers who would play games manually, localization testers test from spread sheets with scripts and translations provided.
Soaking is a process of exposing the game for a longer period of execution. This is to test if the game will exhibit unreleased segments of memory and mathematical rounding discrepancies. Rounding errors may cause problem to games as it affects its pointing system, health value consumption and numerical calculation. Games needs verification to produce complete playing experience. Listed below are some game testing components:
* Menus, sub menus, and its functions
* Graphics, texture, and animation
* Character audio, sound effects, and special effect
* Game difficulty level
* World, dungeons, and map settings
* Player, action, and inanimate attributes
* Artificial intelligence for the defense and offense mode
* Game flow, logic, and sequencing
* Life points, magic points, and player points
* Game pad vibration, analog stick, and other hardware issues
Roles of game Tester:
A games tester is one who works for video game production companies to test video games before the final version is released to the public. Game Testers are also known as Beta testers. They obtain games for testing at 75% completion stage or nearing final stage after which the games should be played a number times from end to end in order to detect bugs within the game.
A game tester would receive game copies prior in order to test and verify if the game is working as expected before public release. They would navigate through every menu to confirm that everything is working correctly and whether it is taking the player to the correct sub-menu or stages. Some of the games includes difficultly levels such as Beginner, intermediate and advanced and also offers more than 1 avatar a game tester should play game from end to end to detect any discrepancies.
While playing game, a game tester should try to explore the game in all possible ways in order to find the hidden bugs that were not defected while performing normal play. He must also try to explore some extreme conditions such as getting stuck to a wall or obstacle within the game. These bugs are known as clipping, if a character is stuck then the player cannot free the character.
Once the bug is discovered, game tester should write a description which includes nature of bug detected and steps for replicating the bug. This description needs to be provided to programmers and after the bug fix game testers need to test the game again to ensure that has been rectified.
Game Testing Tips:
1. Game algorithm should be identified from source code in order to identify issues in game application.
2. Game testers should know Random Number Generator evaluation (RNG) in order to add unpredictability in the games. This is mainly used to map the game outcomes.
3. Validate the source code for correct usage of random numbers and error handling.
4. Verify and validate the predefined rules for game.
5. Verify whether adequate information should be always available to users to guard game players.
6. Verify all the reports for date, time, number of wins, money and data accuracy.
7. Validate deposits, Maximum/Minimum limits of bets and other critical game symbols.
8. Validate whether offensive content or material should not be displayed.
9. Game history and system event logs must be regularly checked.
10. Validate the Games outcome are displayed for a sensible time.
11. Validate bandwidth and client software for Single/Multi-player games.
12. Validate system operation and correct game after game fails and is recovered.
13. System requirements needs to be tested as it is important in game testing. Validate the Game equipment’s, network and game synchronization with OS, infrastructure and security requirements.
14. Verification of consistency of game rules should be done.
Game testing is the process of verifying game environment and behavior by playing the game from the start to finish and reporting random bugs that occur and detected accidentally.