Why do most developers fear to make continuous changes to their code? They are afraid they’ll break it! Why are they afraid they’ll break it? Because they don’t have tests. – Robert C. Martin
Test Driven Development is a technique of software development which asks the developer to write production code by writing small tests for that production code first. Writing tests first ensures excellent code coverage, easy refactoring of the production code; as it is backed by a lot of tests which tell immediately if something breaks and incremental and lean software development. TDD is the insurance policy that allows developers to write code and ship it to the customer with confidence.