A unit test is a small piece of code (function/method) that exercises some other code and verifies its expectations of its results. Unit tests typically test single behaviors of a system in isolation, and is aimed at catching method-level errors and providing a safety-net in which regressions can be caught. In TDD unit tests are also used to drive development and to guide the design of the code.

Unit testing is a developer activity, which sets it apart from how some large organizations do acceptance testing, as an example (i.e. organizations that have their own QA department/people).