Don incrementally demonstrates the concepts of Unit Testing, Test-Driven Development, and then Behavior-Driven Development that enable us not just to create robust regression tests, but also clean and maintainable code.