Successful developers need to not only build the right software but build it right. To know your software works correctly, you need to test each unit of code. One of the best methods for this unit-level testing is test driven development. This course provides a detailed overview of test driven development (TDD). First, you鈥檒l learn what automated testing is and why it is essential for building robust applications resilient to failure. You鈥檒l explore the basics of testing, including test cases, testing levels, and the traditional release cycle. You鈥檒l learn about TDD and its complement, behavior driven development (BDD): TDD tests individual units of code while BDD tests how these units work together. Then you鈥檒l examine TDD in detail. You鈥檒l explore TDD鈥檚 benefits, concepts, and popular tools, and you鈥檒l hone your new testing skills through hands-on labs. You鈥檒l create TDD test cases by writing test assertions and building test fixtures, and you鈥檒l run these test cases by using the Nose testing package. You鈥檒l then practice more advanced TDD methods such as increasing code coverage, generating and using fake data, and testing mock objects.