....Its primary purpose is code design. ....
How does it lead to better code design? Test first development works like this.
.....
Developer is designing the application's API and internal implementation by discovering how client code actually must use the application instead of by guessing at how a client might use the application. This shift in perspective leads to extremely concise and efficient designs. It also helps focus the developer on the exact task at hand,making it less likely the developer will stray into writing nice-to-have's or overly-engineered,future-proof code that may never be needed.
原文在http://java.about.com/b/a/117719.htm