Introduction
Developed by Kent Beck in the late 1990s, Test Driven Development is a disciplined process of creating software by first specifying the desired behavior in the form of a failing automated test. The process consists of three simple steps:
- Write a failing test
- Make the test pass
- Make the code clean.
These three steps have come to be referred to as Red, Green, Refactor.
Test Driven Development is more than just a process for developing code; it is a framework for approaching problems and building solutions to those problems. It enables immediate and reliable feedback, inspires confidence when making changes, invites experimentation, and grants its practitioners freedom to explore safely.
It is not easy, however. It is a discipline, a skill that must be honed through practice. As with any skill, the initial learning curve can be difficult, but the payoff for sticking with it is huge.