Test-driven development: Difference between revisions

Content deleted Content added
Line 31:
Despite the initial requirements, TDD can provide great value to building software better and faster. It offers more than just simple validation of correctness, but can also drive the design of a program. By focusing on the testcases first, one must imagine how the functionality will be used by clients (in this case, the testcases). Therefore, the programmer is only concerned with the interface and not the implementation. This benefit is similar to [[Design by Contract]] but approaches it through testcases rather than mathematical assertions.
 
The power TDD offers is the ability to take small steps when required. It allows a programmer to focus on the task at hand and often the first goal is to make the test pass. Exceptional cases and error handling are not considered initially. These extraneous circumstances are implemented after the main functionality has been achieved. Another advantage is that test-driven developement, when used properly, ensures that no code is written that doesn't have a test. This can give the programmer a greater level of trust in his code.
 
== Limitations ==