Automated tests are great! They tell you when your software is broken and enable you to refactor with confidence, leading to cleaner codebases and less stressed developers. Tests are so great, in fact, that a group of true believers started writing them before the actual code. What they called test-driven development (TDD) turned out to be a fantastic way to develop software.

Now, with this video course, you can get started with TDD step-by-step. TDD is often demonstrated with toy examples that fail to represent the challenges of real-world software development. But in this course, Harry Percival takes you through a practical example designed to look more like real life: building a simple web app with all the complexities associated with web browsers, the HTTP protocol, web frameworks, and database integration.

You’ll learn how to:

Use unit tests to guide the development of Django view functions and model classes

Test user interactions with functional tests that use Selenium to drive a real web browser

Get a feeling for the unit-test/code cycle, where tests verify each tiny change to the code

Use tests to refactor code systematically and with confidence

Make version control with Git part of the process

Evolve an existing application incrementally, always going from working state to working state

This video course is based on Harry Percival’s book, Test-Driven Development with Python from O’Reilly. Once you’ve completed the course, you can dig even deeper into the subject with the book.

Harry J.W. Percival works at PythonAnywhere LLP and spreads the gospel of TDD worldwide at talks, workshops, and conferences.