The test-driven development is the method of software development where tests specify interfaces of implementation and all code must pass the tests.
It is one of primary practices of Extreme Programming.
See also: Unit test, JUint, Testing first, test driven development