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.
翻译:正确性是衡量软件质量的重要标准之一。然而,该内容的教学往往孤立进行,大多数学生仅将其视为事后补充。除非作业明确要求,他们通常无法获得关于代码质量和测试的充分反馈。为改进这一现状,我们开发了一套程序化指导方案,引导学生完成具有适当测试的代码实现。此外,我们构建了一个工具包,使学生能够自主获取关于其解决方案及测试充分性的个性化反馈。该工具包的核心机制是测试覆盖率分析,教师可基于当前作业特点定制包含建设性指导的反馈,以帮助学生完善测试套件。本文阐述了程序化指导方案的设计原理,解析了反馈工具包的工作机制,并提出将工具包与程序化指导各阶段相结合的实施方法。