Test Driven Development
Test Driven Development is a an incremental software development methodology. Developers first write unit tests that define the desired behavior of individual functions of code. These tests are then used to guide the implementation process, ensuring that each new piece of code satisfies the predefi