You may have been told they were a waste of time by your parents, but playing video games actually hones the same skills that are critical to performing the best software testing.
Exploring Video Games
The first thing you want to do in a video game is to explore and check out your surroundings. This will help you, the player, get used to the game controls, see what your character can do, and get comfortable with the settings and plot of the game. Similarly, when you start testing a software application, the first thing you should do is get familiar with it; what its purpose is, who the audience is, as well as what the user is allowed (and not allowed) to do.
Just like in games where the player is often rewarded for checking out hidden areas or breaking through walls for bonuses or shortcuts, a lot of bugs are hiding just out of sight in software applications. If you only go through the ‘happy path,’ both in games and in software testing, you’ll likely miss a lot of the bonuses or bugs.
Leveling Up Your Game
As you progress through the game, you cover different areas or levels. By the end of the game, you’ve explored and fought in every area of the in-game world, and are ready to take on a final boss. In testing software, you likewise will explore every area of the app, and will have uncovered very many of the bugs in each area. Finding, investigating, and providing good information on each issue is similar to fighting enemies in a video game. Usually, the more enemies you kill, the better off you’ll be (by gaining experience, obtaining items, etc.); likewise, of course, the more bugs a tester finds during QA, the better off and stronger the final product will be.
The final battle in a video game should be one where you use all your best skills and items you’ve acquired throughout the course of the game. In a software lifecycle, this is similar to the final release of the product. Through regression testing (and maybe another full sweep of the app), you can ensure that all previously found bugs remain fixed, no new bugs are introduced, and that the product is solid, useful, and a source of pride for its developers.
Better Success With Teamwork
In many video games, there’s an element of teamwork that is required to beat enemies or progress through the game. Each player has their own role and must work within the clan or group to gain advantages or make progress. It’s the same with software testing — working in a team can often allow for better, faster testing faster. By sharing information and building on each other’s bugs (not to mention using each tester’s individual skill set to the team’s advantage) a quality QA team improves the value of a software development project. Conversely, of course, some healthy competition might be part of the game. Seeing better players than you might make you want to improve your skills and become a better player yourself, and similarly, seeing other testers or reading their bug reports might inspire and guide you how to be a better tester.
Both video games and software testing can be a valuable and rewarding experience. No two players are going to approach a game the same way or have the exact same experience, and likewise, each tester will see slightly different bugs in a software application. Playing a game requires skill, good judgment, and healthy curiosity; all of which are part of good quality assurance.