『테스트 주도 개발』 – 코딩이 아닌 ‘생각하는 습관’을 만드는 연습

2025. 7. 24. 20:42IT 독후감

반응형

개발을 하다 보면, 기능 구현에 집중하느라 테스트는 뒷전이 되기 쉽다.
나 역시 “일단 만들고 테스트는 나중에”라는 습관이 자연스러웠다.
그런데 이 책 **『테스트 주도 개발』**을 읽고 나서,
“왜 테스트를 먼저 해야 하는가?”,
**“테스트가 개발의 일부가 될 수 있는가?”**에 대한 근본적인 시각이 달라졌다.

이 책은 단순히 TDD의 원칙을 설명하는 게 아니라,
“생각하며 코딩하는 법”,
그리고 “작고 반복적인 진화”를 코드로 어떻게 실천하는지를 보여주는 실용적인 지침서다.


🧭 빨간불에서 시작하는 개발 – Red, Green, Refactor

켄트 벡이 반복해서 강조하는 건 아주 단순한 사이클이다:

  1. Red – 실패하는 테스트를 먼저 작성하라
  2. Green – 테스트를 통과시키는 최소한의 코드를 작성하라
  3. Refactor – 안전하게 구조를 다듬어라

이 구조는 개발을 단계적으로 생각하게 만든다.
처음엔 어색했지만, 익숙해질수록 **“무의식적 설계”**에서 **“의식적 개발”**로 바뀌는 감각이 생긴다.

단순히 테스트 도구를 배우는 게 아니라,
개발 흐름 자체가 설계 → 구현 → 검증으로 자연스럽게 연결되기 시작한다.


🔍 테스트는 신뢰의 기반이자 설계 도구

책에서 가장 놀라웠던 건, **“테스트는 설계를 유도한다”**는 점이다.

  • “어떤 객체가 필요한가?”
  • “이 함수는 어디까지 책임져야 하는가?”
  • “인터페이스는 어떻게 분리되어야 하지?”

이런 고민이 테스트를 쓰는 과정에서 자연스럽게 발생한다.
즉, TDD는 테스트를 위한 개발이 아니라, **“좋은 설계를 위한 테스트”**다.
안심하고 리팩토링할 수 있는 근거, 동작이 깨지지 않았음을 증명하는 안전망이기도 하다.


🛠️ 책 한 권이 코드 리뷰처럼 느껴진 경험

책은 예제 중심으로 진행되는데,
특히 Money 객체, 문자열 파서, 프레임워크 없는 테스팅 코드 등의 예제가 인상 깊었다.

각 단계를 지나며 켄트 벡이 왜 그렇게 구현했는지,
**“나는 여기서 어떤 결정을 내렸는가?”**를 마치 실시간 코드 리뷰처럼 보여준다.

그 과정을 따라가다 보면 자연스럽게 나만의 판단 기준도 생기고,
“어떻게 작은 단계를 쪼갤 수 있을까?”, “이 책임은 어디에 둘까?” 같은 고민을 스스로 하게 된다.


✍️ 마무리하며 – 테스트는 개발을 ‘의식적으로’ 만드는 습관

**『테스트 주도 개발』**은 단순한 테스트 방법론서가 아니다.
개발을 더 신중하게, 더 지속 가능하게, 더 즐겁게 만들기 위한 훈련법이다.

책을 덮고 나면, “이 기능이 작동하나?”가 아니라
**“내가 만든 코드가 신뢰할 수 있는가?”**를 묻게 된다.

다음과 같은 고민이 있는 개발자라면, 이 책을 꼭 읽어보면 좋다:

  • 테스트 코드를 어떻게 시작해야 할지 막막한 사람
  • 리팩토링할 때 항상 불안했던 경험이 있는 사람
  • 설계 감각을 키우고 싶은 사람

이 책은 도구를 설명하지 않는다. 습관을 가르친다.
그리고 그 습관은 개발자로서 성장하고 싶은 모든 사람에게 큰 자산이 된다.

 

728x90