Creating reusable parts
One of the reasons software development and automation has such a prominent place in today's world is its repeatability. Recurring tasks can be executed in exactly the same way repeatedly. But it's not only this kind of repeatability that's responsible for automation's prominent place. It's also the ability to create reusable parts. Now, you might recall that in practicing TDD you, at first, do not focus on generalization, that is, creating reusable parts, but let this emerge as part of the refactoring. And that is fully true. So, with TDD we first focus on getting the test(s) implemented. This, however, does not prohibit us from designing our test in such a way that we reveal and make use of common ground as discussed in Finding common ground – steps 1, 2, 3, and 4.