test-driven-development
The Iron Law
NO PRODUCTION CODE WITHOUT A FAILING TEST FIRSTRed-Green-Refactor Cycle
┌─────────────────┐
│ │
│ RED │
│ Write │◄────────────────────┐
│ failing test │ │
│ │ │
└────────┬────────┘ │
│ │
│ Verify fails correctly │
▼ │
┌─────────────────┐ │
│ │ │
│ GREEN │ │
│ Write minimal │ │
│ code to pass │ │
│ │ │
└────────┬────────┘ │
│ │
│ Verify all tests pass │
▼ │
┌─────────────────┐ │
│ │ │
│ REFACTOR │─────────────────────┘
│ Clean up │ Next test
│ (stay green) │
│ │
└─────────────────┘Testing Anti-Patterns
Anti-Pattern
Problem
Fix
Common Rationalizations (Rejected)
Excuse
Reality
Last updated