When a test precedes development, it essentially becomes the first “client” for the behavior being developed. This fact is helpful in several ways. First, the interfaces TDD drives into the system are always client-focused. They are not implementation-focused because at the moment they are created there is no implementation yet. In their seminal book on … Continue reading "Tests are Client Number 1"