TDD stands for Test-Driven Development — it’s a software development practice where you write tests before writing the actual code.
Here’s how it works, step by step (often called the Red–Green–Refactor cycle):
- 🟥 Red – Write a test that defines a small piece of functionality you want.
- The test will fail at first because the feature doesn’t exist yet.
- 🟩 Green – Write the minimal amount of code necessary to make that test pass.
- Focus only on making the test succeed, not on optimization or structure.
- 🟦 Refactor – Clean up the code and tests.
- Improve readability, remove duplication, and make sure all tests still pass.
Then you repeat the cycle for the next small piece of functionality.
Example (in Python)
# Step 1: Write a failing test
def test_addition():
assert add(2, 3) == 5
# Step 2: Implement the code to pass the test
def add(a, b):
return a + b
Benefits of TDD
- Ensures your code is well-tested from the start.
- Helps prevent bugs and regressions.
- Encourages modular, maintainable code.
- Gives confidence to refactor without fear of breaking things.