The practice of testing the smallest functional parts of an application in isolation to ensure they work as expected.