Sounds like how I approach a physics problem (physics is a domain where I've much more knowledge than programming): just think about the problem and constraints, and then "just do it."
I think that you are right, that tests as a design tool are somewhat of a crutch for the inexperienced. But, as far as crutches go, they seem to be a pretty good one. The automated tests you create during design follow through and help you during development, and it gets you thinking about the module user's experience.
|