A Feedback Toolkit and Procedural Guidance for Teaching Thorough Testing
Steffen Dick, Christoph Bockisch, Harrie Passier, Lex Bijlsma, Ruurd Kuiper
TL;DR
This work tackles the challenge of teaching correct software along with thorough testing by coupling a procedural, stepwise development framework with an automated, customizable feedback toolkit (MASS). It introduces a Test-Coverage-Checker that leverages private teacher implementations and line-based feedback to guide students toward complete, well-specified tests and demonstrates an integrated Bag example. The approach is evaluated through experiential use in courses, with noted benefits in artifact quality and testing discipline, alongside practical limitations and directions for future enhancement (adaptive feedback and mutation testing). The proposed framework aims to make test quality a core, inspectable part of learning software development, enabling scalable, personalized feedback in diverse teaching contexts.
Abstract
Correctness is one of the more important criteria of qualitative software. However, it is often taught in isolation and most students consider it only as an afterthought. They also do not receive sufficient feedback on code quality and tests unless specified in the assignment. To improve this, we developed a procedural guidance that guides students to an implementation with appropriate tests. Furthermore, we have developed a toolkit that students can use to independently get individual feedback on their solution and the adequateness of their tests. A key instrument is a test coverage analysis which allows for teachers to customize the feedback with constructive instructions specific to the current assignment to improve a student's test suite. In this paper, we outline the procedural guidance, explain the working of the feedback toolkit and present a method for using the toolkit in conjunction with the different steps of the procedural guidance.
