Test-Driven Development

Domain: Software Engineering

🎯 Motivation

Write tests before code. Red (test fails) -> Green (code passes) -> Refactor (improve). TDD cycle.

📋 Concrete Example

TDD: 1) Write test: assert is_prime(7) == True. 2) Run: FAIL (function does not exist). Red. 3) Write code: def is_prime(n): return True. 4) Run: PASS. Green. 5) Write more tests, fix code. Cycle.

🔗 Analogy

TDD is like writing the exam before studying - you write the test (what should the code do?), then learn (write code) until you pass. It ensures you know the goal before you start coding.