test driven development
software development methodology involving repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the new tests, only