Automated unit testing involves writing small tests to validate that individual units or components of an application perform as expected. Unit tests should be fast, repeatable, and isolated to test a single function or class. Test doubles like mocks and stubs can stand in for dependencies to make unit tests deterministic. Code coverage metrics measure how much of the code is executed by unit tests, and test-driven development uses tests to drive the design process.