Adam Goucher summarizes a list from Michael Bolton explaining how to design applications for testability. Worth bookmarking.