Test-Driven Development (or "Test-Driven Design"). See the article by Scott Ambler [L1 ].
See test-driven development.