This document introduces test-driven development (TDD) and unit testing using PHPUnit. It discusses the benefits of unit testing, including reducing bugs, improving code design and documentation. It then demonstrates using TDD to build a simple calculator application, showing how to set up a PHP project with PHPUnit, write tests that initially fail and then pass as code is added, and refactor code. The full source code for the calculator tests and class are provided.