목요일, 10월 19, 2006

TDD (Test Driven Development)


켄트 백이 집필한 테스트 주도 개발이란 책을 보았다.
예전 부터 XP나 TDD에 관심을 가지고는 있었지만 책도 제대로 본적이 없고 어렴풋하게 그게 뭐겠구나 생각만 하고 있었으므로 이 책이 좀더 탄탄한 지식을 쌓는데 도움이 되었다.

TDD를 단순히 코드 개발 시 검증을 쉽게 하기 위한 방편으로 생각하고 있었는데 책을 읽고 나니 소프트웨어 개발의 주기를 관리하기 위한 하나의 방법론처럼 느껴진다. (아직, TDD를 사용해본적도 없고 달랑 책 한권을 출퇴근시간에 살펴본 것이니 무리한 결론은 금물!)

어떤 책이든 달랑 읽기만하고 심사숙고 해보지 않거나 실 생활에 적용해보지 않으면 별 소용이 없듯이 TDD 역시 내 스스로 절차탁마해보지 않고는 이게 어떤 것인지 알 수 없을 것이다. TDD 관련 자료를 주변에 붙여놓고 개인 프로젝트 구현 시 TDD를 이용할 수 있도록 하자!

TDD의 개발 주기를 간단히 설명해보면:
- 테스트 작성 (하나의 기능에 대해)
- 일단 테스트가 성공할 수 있도록만 구현
- Refactoring : 테스트 코드나 구현 코드를 refactoring함

위 주기를 계속 반복하여 동작하는 깔끔한 코드를 작성하는 것을 목표로 한다.
이 책과 관련하여 앞으로 참고할 만한 서적 및 자료는 다음과 같다.
  1. Refactoring : Martin Fowler
  2. The Smalltalk Best Practice Patterns: Kent Beck
  3. Design Patterns: Gamma, Erich, Helm
  4. Extreme Programming Explaind: Kent Beck
  5. Code Complete: Steve McConnel
  6. www.artima.com/intv/contest.html
  7. www.mockobject.com
  8. www.sdmagazine.com
  9. martinfowler.com

댓글 없음: