determine if they are fit to use. The smallest testable part of an application: functions, classes and methods Prove that code performs within a set of guidelines Unit testing is a fundamental building block of writing professional, maintainable code