Test Driven Development is something we did during our time in phase0 with out realizing it. At least I didn’t realize that was what we were doing in many of our challenges. That seems to have been a common theme so far in the learning style here; Learn how to do something new (and important) with out even realizing it.

So simply put, Test Driven Development, or TDD, is a method of software development where the programmer(s) write a short, automated test that will initially fail. The developer(s) then works to create a solution that will cause that test to pass, with the least amount of code that they can, sometimes refactoring, if they think it is nessisary. Once the initial test passes, the programmer(s) continue by writing a new test that will push (inch) their program closer to the final product. Once this test is written, the programmer(s) run the test, expecting to pass the first, and fail the new test. Then the programmer(s) works to pass this second test. Refactor and repeat. This cycle continues until the programmer is satisfied with a final product!

Below is a flowchart that maps out (more clearly) what I tried to explain above source: Wikipedia