콘텐츠로 이동

테스트 주도 개발 실전 강의 교재

32장 — TDD 마스터하기

대상: Java/Spring 백엔드 입문~중급 수강생 형식: 책 전체 회고


0. 학습 목표

  • 책 전체의 통찰 정리.
  • TDD 마스터로 가는 실천 과제.

32장 — Kent Beck 의 조언 (요약)

1. 사이클을 짧게

빨강-초록-리팩터가 분 단위. 시간 단위가 되면 단계 분해.

2. 한 번에 하나

한 사이클에 한 변경. 두 가지 동시 = 실패 원인 추적 어려움.

3. 테스트가 짠다고 좋은 설계가 보장 X

TDD 는 나쁜 설계를 빨리 알아채게 함. 좋은 설계는 여전히 학습 + 경험.

4. 작은 단계 vs 큰 단계

확신 있으면 큰 단계, 모르면 작은 단계. 빨강이 길어지면 단계가 너무 큰 것.

5. 도구·언어·관행 학습

TDD 는 도구·언어·팀 관행이 받쳐줘야 효과 큼.

6. 안티패턴 인식

  • 테스트 없이 코드 작성
  • 테스트가 구현 디테일 검증 (변경 시 같이 깨짐)
  • 거대한 픽스처 공유
  • flaky 테스트 방치

7. 패턴 사전 활용

3부 25~31장 카탈로그가 곧 사전. 모르는 상황 발생 시 펼침.


책 전체 핵심 메시지 (3부 종합)

  1. 빨강-초록-리팩터 의 짧은 사이클.
  2. 할 일 목록 으로 흐름 끊지 않음.
  3. 가짜 구현 → 진짜 구현 의 단계.
  4. 삼각측량 으로 일반화 강제.
  5. 테스트도 코드 — 깨끗하게.
  6. 리팩토링 + 패턴 이 R 단계의 도구.
  7. 자기 회귀 — xUnit 만들기 (2부) 가 곧 도구 학습 + 자기 검증.

다음 단계


다음 — 부록 A·B 와 마치는 글 (Fowler)

부록은 TDD 의 외부 효과 (영향도) 와 코딩 사례 (피보나치). 마치는 글은 Martin Fowler 가 TDD 와 자기 자신의 관계.