Skip to Main Content
Test-first development is a practice of extreme programming designed to produce reliable software quickly. Rather than writing the code first, a software engineer first creates the tests that will demonstrate that the software works correctly. Coding follows and is often guided by the tests. Practitioners of this method claim that the discipline of developing the tests before the code focuses their attention on the right problems and yields cleaner code. Test-first teaching is a method of course development that incorporates instructional design methods to create more effective instruction. The instruments that will be used to test students' day-to-day learning of the course material-assignments and quizzes-are created first, and instruction is developed to meet the students' needs. Components of test-first teaching are applied at both course and lecture levels. Test-first teaching has been used successfully to develop courses for the new Bachelor of Science in Software Engineering program at Rose-Hulman Institute of Technology.