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.
The first thing you want to do in a video game is explore and check out your surroundings. This will help you as 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 will want to 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.
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 will ensure that all previously found bugs are still fixed, that no new bugs have been introduced, and that generally, the product is solid and is something that the team can be proud of and will be useful to its customers.
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 much better testing, and faster. By sharing information, building on each other’s bugs, and not to mention using each tester’s individual skill set to the team’s advantage, a very worthy QA team can be very valuable to the 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 variable 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 judgement, and healthy curiosity; all are also required for a software tester to provide good quality assurance.