TDD (Test Driven Design) - smudge202/clean-living GitHub Wiki
Usage
Test driven development is the approach to writing where all production code is first preceded by writing a failing unit test. The code required to make that test pass is then added, followed (if required) by refactoring to make the code readable and reusable. This is also known as Red, Green, Blue.
Benefits
TDD is generally accepted as a good thing, it ensures good test coverage of your code, which will pay back dividends later when making changes or trying to track down issues. There is the perception it can take longer to write code this way, and certainly to begin with that can be true. However as you get more used to it, you can be just as quick and your code base is certainly more stable because of it.
##References