Participants will learn about what test-driven development is, its benefits and drawbacks, techniques for improving the quality of tests, and insight into how TDD helps developers evolve graceful designs. Participants will also have an opportunity to practice applying TDD on a realistic project. By the end, participants should have a good understanding of what TDD is, what its benefits are, and should feel comfortable using TDD on their own projects.