TDD는 실패, 최소 통과, 구조 개선을 작게 반복한다

테스트는 함수 시그니처, 오류 타입, mock 경계를 먼저 고정하는 설계 문서가 된다.

01Red

아직 구현되지 않은 요구를 실패 테스트와 타입 오류로 표현한다.

02Green

가장 단순한 코드로 방금 쓴 테스트를 통과시킨다.

03Refactor

테스트가 지키는 범위 안에서 중복과 이름, 책임을 정리한다.

04Repeat

작은 피드백 단위로 다음 요구를 추가한다.

구분의미판단
신규 기능사용 예를 테스트로 먼저 작성공개 API를 좁게 유지
레거시 변경현재 동작 고정 테스트작은 리팩터링부터 시작
불안정 테스트경계 분리 필요DB·시간·네트워크를 mock 또는 adapter 뒤로 이동

핵심 TDD의 핵심은 테스트 수가 아니라 설계 결정을 검증 가능한 작은 단위로 쪼개는 리듬이다.