Test-driven development in education: experiences with critical viewpoints

Test-Driven Development (TDD) was applied in educational setting right after it became well-known as a key practice of Extreme Programming (XP). Basically, there are many studies reporting positive experiences on TDD applied in different levels of a curriculum. In this paper, we discuss the role of TDD in education through the students' experiences. In our experiment, a challenging programming task was applied in order to see what kind of difficulties the students would encounter and discuss. The students' answers revealed several topics that require a careful treatment in teaching to avoid conceptual confusion. For example, the topics include the scalability of TDD, extent of single test, and discipline.