skip to main content
10.1145/3493244.3493263acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbqsConference Proceedingsconference-collections
research-article

GAMUT: GAMe-based learning approach for teaching Unit Testing

Published:14 December 2021Publication History

ABSTRACT

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.

References

  1. Rula Al-Azawi, Fatma Al-Faliti, and Mazin Al-Blushi. 2016. Educational gamification vs. game based learning: Comparative study. International Journal of Innovation, Management and Technology 7, 4(2016), 132–136.Google ScholarGoogle Scholar
  2. A. Arcuri, G. Fraser, and R. Just. 2017. Private API Access and Functional Mocking in Automated Unit Test Generation. In 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST). 126–137.Google ScholarGoogle Scholar
  3. Arthur Silva Bastos, Renata Faria Gomes, Clemilson Costa dos Santos, and José Gilvan Rodrigues Maia. 2018. Synesthesia: A study on immersive features of electronic games. SBC Journal on Interactive Systems 9, 2 (2018), 38–51.Google ScholarGoogle Scholar
  4. Thiago A Beppe, Ítalo Linhares de Araújo, Bruno Sabóia Aragão, Ismayle de Sousa Santos, Davi Ximenes, and Rossana M Castro Andrade. 2018. GreaTest: a card game to motivate the software testing learning. In Proceedings of the XXXII Brazilian Symposium on Software Engineering. 298–307.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Roberta Coelho, Uirá Kulesza, Arndt von Staa, and Carlos Lucena. 2006. Unit testing in multi-agent systems using mock agents and aspects. In Proceedings of the 2006 international workshop on Software engineering for large-scale multi-agent systems. 83–90.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Heather Coffey. 2009. Digital game-based learning. Learn NC (2009).Google ScholarGoogle Scholar
  7. Gabriela Martins de Jesus, Fabiano Cutigi Ferrari, Daniel de Paula Porto, and Sandra Camargo Pinto Ferraz Fabbri. 2018. Gamification in Software Testing: A Characterization Study(SAST ’18). Association for Computing Machinery, New York, NY, USA, 39–48.Google ScholarGoogle Scholar
  8. Robert F DeVellis. 2016. Scale development: Theory and applications. Vol. 26. Sage publications.Google ScholarGoogle Scholar
  9. Michele D Dickey. 2011. Murder on Grimm Isle: The impact of game narrative design in an educational game-based learning environment. British journal of educational technology 42, 3 (2011), 456–469.Google ScholarGoogle Scholar
  10. Sebastian Elbaum, Suzette Person, Jon Dokulil, and Matt Jorde. 2007. Bug hunt: Making early software testing lessons engaging and affordable. In 29th International Conference on Software Engineering (ICSE’07). IEEE, 688–697.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Gordon Fraser. 2017. Gamification of software testing. In 2017 IEEE/ACM 12th International Workshop on Automation of Software Testing (AST). IEEE, 2–7.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Steve Freeman, Tim Mackinnon, Nat Pryce, and Joe Walnes. 2004. Mock roles, not objects. In Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications. 236–246.Google ScholarGoogle Scholar
  13. Tracy Fullerton, Chris Swain, and Steven Hoffman. 2004. Game design workshop: Designing, prototyping, & playtesting games. CRC Press. 180 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. P. Henrique Dias Valle, A. M. Toda, E. F. Barbosa, and J. C. Maldonado. 2017. Educational games: A contribution to software testing education. In 2017 IEEE Frontiers in Education Conference (FIE). 1–8.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. IEEE. 1990. IEEE Standard Glossary of Software Engineering Terminology (Std. 610.12-1990).Google ScholarGoogle Scholar
  16. Tan Chin Ike, Tan Wee Hoe, Julian Lee Eng Kim, and Ng Yiing Y’ng. 2021. Exploring User Experience from an Emotional Context When Designing Immersive Games for Education. Journal of ICT in Education 8, 1 (2021), 10–25.Google ScholarGoogle Scholar
  17. Gabriela Kiryakova, Nadezhda Angelova, and Lina Yordanova. 2014. Gamification in education. Proceedings of 9th International Balkan Education and Science Conference.Google ScholarGoogle Scholar
  18. Joakim Korhonen. 2020. Automated Model Generation using Graphwalker Based On Given-When-Then Specifications.Google ScholarGoogle Scholar
  19. Erik Krogen. 2016. Bond: A Spy-based Testing and Mocking Library. Technical Report. Technical Report. Electrical Engineering and Computer Sciences, University of California at Berkeley.Google ScholarGoogle Scholar
  20. Valéria Lelli, Rossana MC Andrade, Lavinia M Freitas, Rubens AS Silva, Francisco Gutenberg S Filho, Renata Faria Gomes, and Jan Sousa de Oliveira Severo. 2020. Gamification in Remote Teaching of SE Courses: Experience Report. In Proceedings of the 34th Brazilian Symposium on Software Engineering. 844–853.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Ana Paula Lopes, Mariano Soler, Rocío Caña-Palma, Luis Cortés, M. Bentabol, Amparo Bentabol, Maria Munoz, Ana Esteban, and M Luna. 2019. Gamification in Education and Active Methodologies at Higher Education. https://doi.org/10.21125/edulearn.2019.0480Google ScholarGoogle Scholar
  22. Tim Mackinnon, Steve Freeman, and Philip Craig. 2000. Endo-testing: unit testing with mock objects. Extreme programming examined(2000), 287–301.Google ScholarGoogle Scholar
  23. Thomas W Malone. 1981. Toward a theory of intrinsically motivating instruction. Cognitive science 5, 4 (1981), 333–369.Google ScholarGoogle Scholar
  24. Arthur Marques, Franklin Ramalho, and Wilkerson L Andrade. 2014. Comparing model-based testing with traditional testing strategies: An empirical study. In 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation Workshops. IEEE, 264–273.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Gerard Meszaros. 2007. xUnit test patterns: Refactoring test code. Pearson Education.Google ScholarGoogle Scholar
  26. Rafael da Silva Nunes. 2017. Leituras do Poder na Terceira Era da Terra-Média: um ensaio baseado em O Senhor dos Anéis. Espaço e Cultura41(2017), 148–166.Google ScholarGoogle Scholar
  27. Giani Petri, C Gresse von Wangenheim, and Adriano Ferretti Borgatto. 2016. MEEGA+: an evolution of a model for the evaluation of educational games. INCoD/GQS 3(2016), 1–40.Google ScholarGoogle Scholar
  28. Donald E Polkinghorne. 1988. Narrative knowing and the human sciences. Suny Press.Google ScholarGoogle Scholar
  29. Loana Russo Barbosa Ramos. 2019. Proposta de modo de acessibilidade para o jogo Nihilumbra: tornando o jogo mais acessível para jogadores daltônicos.TCC (Graduação em Sistemas e Mídias Digitais)-Universidade Federal do Ceará, Fortaleza.Google ScholarGoogle Scholar
  30. José Miguel Rojas and Gordon Fraser. 2016. Code defenders: a mutation testing game. In 2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW). IEEE, 162–167.Google ScholarGoogle ScholarCross RefCross Ref
  31. Katie Salen, Katie Salen Tekinbaş, and Eric Zimmerman. 2004. Rules of play: Game design fundamentals. MIT press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Kevin A Stein and Matthew H Barton. 2019. The “Easter egg” syllabus: Using hidden content to engage online and blended classroom learners. Communication Teacher 33, 4 (2019), 249–255.Google ScholarGoogle ScholarCross RefCross Ref
  33. Jeff Stuckman and Guo-Qiang Zhang. 2005. Mastermind is NP-complete. arXiv preprint cs/0512049(2005).Google ScholarGoogle Scholar
  34. Pedro Valle, Ellen Francine Barbosa, and José Maldonado. 2015. Um mapeamento sistemático sobre ensino de teste de software. In In Proceedings of Brazilian Symposium on Computers in Education (SBIE), Vol. 26. 71.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. GAMUT: GAMe-based learning approach for teaching Unit Testing
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Article Metrics

            • Downloads (Last 12 months)100
            • Downloads (Last 6 weeks)17

            Other Metrics

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format .

          View HTML Format