The University of Sheffield
School of Computer Science

Wen Ting Wang Undergraduate Dissertation 2017/18

Achievement Unlocked! Gamified Unit Testing

Supervised by Y.Gotoh

Abstract

"Achievement Unlocked!" is a simple phrase but when provided with context and, most importantly, challenge, it leads to and means much more. In a video game, this could mark the relief, satisfaction and fun of finally defeating the final boss after spending relentless hours on developing a character. Popping up on a player's screen, this is the common phrase used to notify them when they have unlocked an achievement. It is a feature of almost all games, and is one of many that can be used in a non-gaming context. This is gamification. Testing is a core process of software development but the levels of enjoyment and motivation of developers when conducting it, does not match those when programming is carried out. This project built a gamification system for unit testing with the aim to improve this. It applies gaming elements such as achievements, loot collecting, guilds and quests to unit testing in Ruby with a system that comprises of a web application and Ruby gem that is a Minitest extension. From evaluation, this system proved successful in achieving the project aim.