Test Driven Development is the process in which test cases are written before the code that validates those cases. It depends on repetition of a very short development cycle. Test driven Development is a technique in which automated Unit test are used to drive the design and free decoupling of dependencies.
The following sequence of steps is generally followed:
- Add a test – Write a test case that describe the function completely. In order to make the test cases the developer must understand the features and requirements using user stories and use cases.
- Run all the test cases and make sure that the new test case fails.
- Write the code that passes the test case
- Run the test cases
- Refactor code – This is done to remove duplication of code.
- Repeat the above mentioned steps again and again
Motto of TDD:
- Red – Create a test case and make it fail
- Green – Make the test case pass by any means.
- Refactor – Change the code to remove duplicate/redundancy.
Benefits:
- Unit test provides constant feedback about the functions.
- Quality of design increases which further helps in proper maintenance.
- Test driven development act as a safety net against the bugs.
- TDD ensures that your application actually meets requirements defined for it.
- TDD have very short development lifecycle.