콘텐츠로 이동

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

마치는 글 — Martin Fowler

책 원본의 마치는 글 (Fowler) 의 메시지 요약.


Fowler 의 TDD 관 (요약)

1. TDD 는 디자인 도구

테스트 우선이 나쁜 설계를 빨리 알게 함. 결합도 높은 코드는 테스트하기 어려움 → 테스트가 설계 피드백.

2. TDD 는 만능 X

  • 모든 코드에 100% 적용 어려움
  • UI·통합·성능 영역은 다른 도구
  • 숙련도 가 결정적

3. 함께 자라는 도구·언어·관행

좋은 IDE·테스트 도구·CI·페어 프로그래밍·코드 리뷰가 함께 받쳐줘야 효과 큼.

4. Test-First vs Test-After

  • Test-First: 설계 피드백·의도 명확
  • Test-After: 안전망은 있지만 설계 영향 적음
  • Fowler 본인은 상황 따라 혼합

5. Mock 의존도

  • 너무 많으면 테스트가 구현 디테일 검증 → 변경 시 깨짐
  • 적절한 균형 필요 — Mock 사용 기준 명확화

6. TDD 의 가치

"테스트를 먼저 쓰면 코드가 더 좋아진다" 는 명제는 보장 X. 하지만 테스트 없이 쓰는 코드보다는 거의 항상 좋다.


마지막 메시지

"TDD 를 처음 익히려 한다면, 이 책을 따라 직접 코딩 해라. 읽기만 해서는 안 됨. 손이 익혀야 한다."


본 강의 교재의 마지막

32장 + 부록 + 마치는 글까지 완료. Effective Java·리팩터링·Clean Code·오브젝트·TDD 5권 도서 사각형 → 오각형 완성. → entity-tdd / src-tdd-lecture.