The University of Sheffield
Department of Computer Science

Jonathan Gray Undergraduate Dissertation 2016/17

Testing Game for Visual Programming Languages

Supervised by G.Fraser

Abstract

Software testing is neglected in education for many reasons, one of which is students' lack of interest in the subject. Gamification provides a way of making software testing more engaging for students. Visual programming languages are a useful tool for teaching programming. This project combines gamification with the visual programming language, Google Blockly, to create a browser-based JavaScript game that teaches the concepts of testing to a player. The game, Code Creepers, is based on the tower defence genre, in which a player must defend a base from enemy 'creeps' by placing 'towers' that destroy them. In Code Creepers, there are both friendly creeps and mutant (enemy) creeps, and the goal of the game is to let friendlies pass safely whilst stopping the mutants. The player must create their own towers, written in Blockly, that test the properties of the creeps. They do not, however, know what mutated procedures are applied to mutant creeps. Thus by writing towers, the player is applying a form of mutation testing, as their set of towers is analogous to a test suite that catches mutants. Evaluation of the game revealed that the core idea and design has potential as an education tool, but in its current state players found the game mechanics challenging and the learning curve too steep.