Test-Driven Development is a design technique that is wildly spreading in the PHP world. One of the pillars of the red-green-refactor mantra is that every new feature development starts with a failing test, which has to be written before the production code it will exercise. Test-first was already an Extreme Programming practice before the formalization of TDD, having now become a very important part of it.