Test Driven Development (TDD) is a software development technique where developers first write the tests and then write the software to pass those tests. This is in contrast to the traditional method of software development where tests are written after the code is written.
The main aim of TDD is to make the code clearer, simpler and bug free. This is achieved by writing a test first which specifies and validates what the code will do.
In simple terms, TDD is a method of programming where the unit tests are developed first and the feature code is developed after that to pass the tests. The process is repeated until the functionality is complete and all tests pass.