Test-driven development (TDD) has an added focus on test automation. It was made popular by the extreme programming movement of the 1990s.
TDD is usually described as a sequence of events, as follows:
- Implement the test: As the name implies, you start out by writing the test and write the code afterwards. One way to see it is that you implement the interface specifications of the code to be developed and then progress by writing the code. To be able to write the test, the developer must find all relevant requirement specifications, use cases, and user stories. The shift in focus from coding to understanding the requirements can be beneficial for implementing them correctly.
- Verify that the new test fails: The newly added test should fail because there is nothing to implement the behavior properly yet, only the stubs and interfaces needed to write the test...