TDD는 실패, 최소 통과, 구조 개선을 작게 반복한다
테스트는 함수 시그니처, 오류 타입, mock 경계를 먼저 고정하는 설계 문서가 된다.
아직 구현되지 않은 요구를 실패 테스트와 타입 오류로 표현한다.
가장 단순한 코드로 방금 쓴 테스트를 통과시킨다.
테스트가 지키는 범위 안에서 중복과 이름, 책임을 정리한다.
작은 피드백 단위로 다음 요구를 추가한다.
| 구분 | 의미 | 판단 |
|---|---|---|
| 신규 기능 | 사용 예를 테스트로 먼저 작성 | 공개 API를 좁게 유지 |
| 레거시 변경 | 현재 동작 고정 테스트 | 작은 리팩터링부터 시작 |
| 불안정 테스트 | 경계 분리 필요 | DB·시간·네트워크를 mock 또는 adapter 뒤로 이동 |
핵심 TDD의 핵심은 테스트 수가 아니라 설계 결정을 검증 가능한 작은 단위로 쪼개는 리듬이다.