Teaching Software Testing with the Code Defenders Testing Game: Experiences and Improvements

Code Defenders is a game that aims to engage students with software testing. Players compete over a Java class under test by producing tests and mutants, i.e., artificial faults, scoring points if tests reveal mutants, or mutants survive tests. While initially created as a fun way to introduce students to testing in one-off fun sessions, we have moved to integrating the game as an assessed core component of a software testing course. This has shown great potential in engaging students, but many challenges have been revealed as part of this integration. In this paper we describe how we integrated Code Defenders into a software testing course, and how we improved the game in order to address the resulting challenges.

[1]  Gordon Fraser,et al.  Gamifying a Software Testing Course with Code Defenders , 2019, SIGCSE.

[2]  Arie van Deursen,et al.  Refactoring test code , 2001 .

[3]  Gordon Fraser,et al.  Code Defenders: A Mutation Testing Game , 2016, 2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW).

[4]  Mohamed Wiem Mkaouer,et al.  On the distribution of test smells in open source Android applications: an exploratory study , 2019, CASCON.

[5]  Gordon Fraser,et al.  A Preliminary Report on Gamifying a Software Testing Course with the Code Defenders Testing Game , 2018, ECSEE.

[6]  Gordon Fraser,et al.  Code Defenders: Crowdsourcing Effective Tests and Subtle Mutants with a Mutation Testing Game , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE).