TDD Cycle
RED Phase
- Write a test that captures exactly one acceptance criterion
- Run the test -- it MUST fail
- Verify it fails for the RIGHT reason (not a syntax error)
- Commit:
test: add failing test for [criterion]
GREEN Phase
- Write the MINIMUM code to make the test pass
- Run the test -- it MUST pass
- Verify only the target test turned green (no side effects)
- Commit:
feat: implement [criterion]
REFACTOR Phase
- Clean up code while keeping ALL tests green
- Remove duplication, improve naming, extract methods
- Run full test suite -- ALL tests MUST pass
- Commit:
refactor: clean up [area]
Compliance Scoring
| Score | Meaning | |-------|---------| | 90-100 | Exemplary TDD: all cycles followed correctly | | 70-89 | Good TDD: minor deviations | | 50-69 | Partial TDD: some implementation before tests | | 0-49 | TDD violation: significant implementation without tests |
Verification Methods
- Git History Analysis: Test files must appear in commits before implementation files
- Coverage Analysis: New code must have >90% test coverage
- Commit Message Convention: RED/GREEN/REFACTOR phases identifiable in messages