In this blog post, Jonathan Kohl discusses the similarities between software testing and game playing. He defines a game as a “situation involving cooperation and conflict with different different actors with different motivations and goals”. He sees software testing as an individual pursuit within a larger software development game and with two styles: scripted testing and exploratory testing..
In the scripted testing game, you are rewarded for going through a management system and repeating test scripts and recording their success or failure. Testing coverage is the most important success metric and any activity, even more and better testing, is discouraged if it prevents to reach this goal. In exploratory testing, the software tester is rewarded on the quality of the work and the quality of the information provided. In this type of game, changing the rules is considered a valid move if it creates value. He then discusses how to apply video game concepts to software testing activities. At the end of the post he asks some valid questions about software testing rewards and team behavior: “Are you measuring and rewarding them for playing the right kind of game, or the one you are most used to? Like the video game character who has gathered metrics and accessories, are you gathering these at the expense of the rest of the team’s goals, or are these measures and rewards helping the entire software development team create a better product?”