This presentation incrementally demonstrates the concepts of Unit Testing, Test-Driven Development (TDD) and then Behavior-Driven Development (BDD) that enable us not just to create robust regression tests, but also clean and maintainable code.
TDD is often mistaken for simply writing automated tests against an existing design. The deeper truth is that TDD is first and foremost about incrementally specifying, implementing, and improving your software’s design.
Video producer: https://www.scrum.org/