GAMUT: GAMe-based learning approach for teaching Unit Testing
Software testing is essential to ensure the quality of a system. One of the first levels of testing is the Unit Testing, which aims to test the smallest part of the software, such as objects, methods or classes or modules. Motivated by the relevance of unit tests in the software development process and the lack of undergraduate courses where students can relate the theoretical concepts of tests to practical classes, we propose a game-based learning approach, called GAMUT, linked by a narrative for teaching unit tests. The approach consists of three steps: a game to introduce the concepts of unit testing such as testing doubles and the given-when-then structure; a video lesson that uses similar code of the game to explain and exemplify the previous concepts; and an activity with a challenge, in which the students can practice what they learned for example the writing unit tests. The approach was applied to an undergraduate class of a Verification and Validation course at a university. The results showed that the approach helped to engage the students in the learning process of unit testing since most of them were able to successfully complete the proposed activity. Also, the students enjoyed the game, the narrative and the lucidity of the proposed activity.