unit test To create automated test functions in order to check that software works in the expected manner. An entire development methodology grew up around this practice, known as "test driven development" (TDD). The theory was that you should write unit tests first describing what your program *should* do, and then write your program afterwards. Whether test driven development is the best methodology for developing reliable software remains the cause of holy wars. Detractors claim that writing and maintaining the tests themselves detracts from the main purpose and creates unnecessary overhead. Proponents claim that you can't really know if your program works unless there are tests to validate against.