Wednesday, October 5, 2011

Applying Test-Driven Development to Assessment in Software Engineering Education

Abstract: Test-Driven Development has become a predominant part of many Agile processes and an emphasis on testing has become a hallmark of modern software engineering discipline. Perhaps unsurprisingly, since Fred Brooks himself noted that software is made of "pure thought stuff", this innovation in software process has much wider applicability than merely the development of software components. In fact, one can argue that this very same approach should be taken to the task of teaching software engineering. In this paper, we review the educational literature on assessment in engineering education and argue that many of the principles behind TDD/BDD/ATDD should be applied by faculty for the administration and management of a software engineering course. We show how concepts such as "fail fast", "unit testing," and "iterations" can be used to manage course progress, and end with a framework that faculty can try in their own courses.

“Assessment as a long-term strategy is intended to enable high-performance student learning systems through the continuous measurement of processes and outcomes, and through the use of results to further refine performance.” (Spurlin, Rajala, Plavelle Designing Better Engineering Education Through Assessment 171)

No comments:

Post a Comment