piece of code that exercises a very small, specific area of functionality of the code being tested. • It tests the smallest possible unit of code, without dependencies on system or network resources. • It is written by software developers and for software developers.