Test-Driven Development (TDD) is a practice where you write tests before the code — following a short, repeating cycle: write a failing test, write code to pass it, then refactor. It drives design through tests and ensures code is testable and well-tested.
The TDD cycle: Red, Green, Refactor
1. RED → write a FAILING test for the behavior you want (it fails — the code doesn't exist yet)
2. GREEN → write the MINIMUM code to make the test PASS (just enough, don't over-build)
3. REFACTOR → improve/clean up the code (and tests) while keeping tests GREEN
→ Repeat this short cycle for each small piece of behavior.
Write test (RED) → write code (GREEN) → clean up (REFACTOR) → repeat
