Saturday, June 18, 2011

Game Testing

[Below stuff can help you to get started with game testing.]
To be a game tester, you need to be an avid game player. But playing games is not enough, you need to have a flair for finding problems. A computer game is further complex than a usual software application. Mostly games are made up of collection of essential components like rendering engine, database, animations, sounds, special effects etc.

The process and techniques that are normally used for software testing will also be functional for Game Testing e.g. Code Inspection, Path and Flow testing, Incremental Focus Testing etc.

You have to examine each and every part of the game. For example
1. The tester must search and explore the game as much as possible.
2. Menus in the game and their functions.
3. Sounds and the sound effects in the game e.g. music, lip sync and sound in conjunction with animation sequence.
4. Logic of the game and game flow.
5. Objects in the game - terrain, world, texture etc.
6. Frame rate of the animation etc.
7. Scoring in the game.
8. Camera view, Zoom in, Zoom out, replay etc.
9. Attributes of a player, attributes of an action.
10. Different conditions to advance/move to the next level.
11. Any titles or text or fonts in the game scenes, spelling mistakes, legal text etc.
12. Game pause and different options related to it, hints in the game, any easter eggs.
13. Scrolling in the game.
14. Any movie clips in the game etc.
15. Different levels - with increased levels of difficulty.
16. Artificial Intelligence logic (if any).
17. Player movement, positioning.
18. Ease of use.
19. Any special effects.
20. Any other objects in the game - each object separately and how one object interacts with other.
21. Stopping and closing a game at certain level and opening the game at the same place you left it.
22. Test for platform compatibility (if any).
23. Loading time for the game under different scenarios.
24. Test for localization.
25. Networking should be tested thoroughly.

"Black Box" focuses on the functional characteristic of the game e.g. testing the UI – graphics, animations, overall look and feel, and the actual playing part.

"White Box" focuses on the architecture and integration characteristic of the game e.g. the use of a database, tests performed by developers prior to submitting new code for integration with the rest of the game, and so on.

Along with the positive scenarios, negative scenarios in game testing should not be ignored e.g. loading a game with less than required memory etc.

Things to keep in mind while testing games:
- You MUST be familiar with the game rules and then try to test the game against these rules.
- You should always try to check that the game should not crash or freeze in case of minor pauses or the characters should not move out of the bounds at any stage.

A table comparing a Gamer and a Tester:
Gamer Tester
Purpose Fun Mastery
Exploration No Yes
Genres Limited No Prefrences
Focus Play Speed/accuracy Skill/achievements
Avoids Bad Games Nothing

[Source of above table:Book: Game Development Essentials: Game QA & Testing by Luis Levy & Jeannie Novak]

You can prepare different DOCUMENTS on game testing, if the documentation will be good, the testing will be smooth and better:
-Requirements document containing features, internal & external design of the game, how to do game testing, Definition of Done etc.
-Game Testing Test Plan (What kind of testing needs to be done, positive, negative etc).
-Test Design document (e.g. definition, guidelines, templates etc of preparing test plan document).
-Test cases depicting each and every scenario etc.

A realtime game tester requirement on a company website:
Your primary responsibilities as a tester will include bug testing and reporting, game balance and game feature testing. Game testing is fun, but it can be demanding. You'll perform traditional feature testing using testing methodologies that you'll learn on the job, and you'll assist the design team in identifying imbalances in game play. You will be an expert on the game and be able to notice any deviation from the correct design and functionality, no matter how small. You'll be expected to work hard, often focusing on very specific, detailed problems. Excellent written and spoken communication skills are crucial to relay what you found to the rest of the team. Patience and tenacity are important traits to demonstrate, as the job requires you to "isolate" every bug and figure out how to replicate it so that it can be fixed. [Via]

Some pretty useful resources on game testing:
1. A whitepaper on Systematic Approach to Game Testing
Link

2. Game Testing on Windows, Mac & Linux Quality Assurance Testing in Game Testing Domain– A Case Study
Link

3. Book: Game Testing All in One by Charles P. Schultz, Robert Bryant and Tim Langdell

4. Testing Strategy for Games
Link

5. Book Extract: Game QA & Testing - Ready, Set, Go!
Game Career Guide here presents an extract from Luis Levy & Jeannie Novak's book Game QA & Testing, a guide to entering the industry through the "traditional" route -- becoming a game tester. This helpful chapter provides information on how to really get in there and get the job.
Link

6. Testing Video Games Can't Possibly Be Harder Than an Afternoon With Xbox, Right?
Link

7. How Video Game Testers Work
Introduction to How Video Game Testers Work, The Need for Video Game Testers, Video Game Tester Responsibilities, Is Video Game Testing a Dream Job?, Becoming a Video Game Tester
Link

8. MEMOIRS OF A GAME TESTER
A personal story and tips on how to break into the games industry
Link

9. Play games, give opinions, get free software!
Come to Microsoft, play games, give your opinion – and we’ll give you free software.
Link

10. Book: Game Development Essentials: Game QA & Testing by Luis Levy & Jeannie Novak

11. Book: How to Become a Game Tester L. P. Klages

12. Book: Game Usability: Advancing the Player Experience By Katherine Isbister, Noah Schaffer