Test Driven Development has reached maturity. Goad Testing takes you a level deeper, examining what tests really are and using the outcome of that exercise to derive new ways of keeping software - both production and test - healthy, flexible, and on-specification. Making distinctions is a critical aspect of a test: It allows a test to serve as an executable specification. Sometimes this ability is lost in the course of maintenance. Goad testing is a way to prevent that from happening without introducing significant extra work or complexity.