Test Driven Design is the process of writing unit tests first (expecting them to fail) and then writing the code to make the tests pass. The benefits of doing this include:
â?¢ forces the programmer to plan out the functionality head of time
â?¢ forces the functions to be small, concise, and testable
â?¢ leaves the programmer with a full unit test suite with 100% test coverage