Test Driven Development is a a software development approach where tests are developed before the actual code. Developers first design tests that describe the desired actions of the software. Only subsequently do they write the code to make those tests passing. This iterative process results in more robust and predictable software. Advantages of