Test Driven Development (TDD)
Testing begins at the start of the project
The repetitive short development cycle and distinctive unit testing of Test Driven Development (TDD) encourages simple code design and inspires a greater level of customer and team confidence in completed code. This key technique of Extreme Programming and Agile Development Practices focuses on the continuous validation of software – from the start and throughout a development project.
With Test Driven Development, Exigen Services programmers actually create tests first, and then write the software that fulfills the requirements reflected in the tests. Customers provide acceptance tests that enable them to be certain that the features they need are provided.
Early testing helps reduce implementation time
Test Driven Development does not replace traditional testing; instead it defines a proven way to ensure effective unit testing. Another benefit of TDD is that the resulting tests are working examples for invoking the code, thereby providing a working specification for the code. Also, the early and frequent nature of the testing helps catch and eliminate defects early in the development cycle, which can help prevent lengthy and tedious debugging later in the project.
While it is true that more code is required with Test Driven Development than without TDD because of the unit test code, total code implementation time is typically shorter. A recent study, On the Effectiveness of Test-first Approach to Programming, found that using TDD meant writing more tests and, in turn, programmers that wrote more tests tended to be more productive.