Introducing Test Driven Development
You may ask, why would anyone write an automated unit test for code that has not yet been written? With Test-Driven Development (TDD), that's exactly what you do-write an automated test that fails; then write the code that makes the test pass; then write another automated test that fails; etc., until the system is completed. This provides an automated regression test suite up front, before the tests can be "skipped" because the project is "running late". Matthew Heusser introduces the concepts and benefits of TDD for the user, the developer, and the organization. Learn how TDD can create confidence that code is complete and works, catch integration defects when they are first created, and, most importantly, provide confidence that a maintenance change did not create regression error. Also, learn what TDD means for testers.
- Basics of test first development and Extreme/Agile Programming
- How to use TDD (with Perl as the example language)
- The problems and practical issues of using TDD for production applications