This document discusses test-driven development (TDD) and unit testing. It begins with an introduction to TDD and examples using PHPUnit. It then explores the TDD cycle, common excuses for not using TDD, and pros and cons of TDD. Next, it distinguishes unit testing from TDD and discusses unit testing frameworks like PHPUnit and SimpleTest. Finally, it provides examples of code for a simple game that could be used to learn TDD and unit testing techniques.