BLOG ARTICLE 서평 | 1 ARTICLE FOUND

  1. 2010.08.28 [서평] 테스트 주도 개발 TDD 실천법과 도구

그동안 번역서만 마구 읽어대곤 했는데 번역서를 읽다보면 갑자기 머리가 띵해지는 경우가 많다. 반면에 이 책은 여름으로 가는 문이라는 블로그를 운영하시는 채수원님이 작가이고 실무경험에서 우러나오는 여러 알찬 정보들이 많다.

TDD는 예전부터 관심이 많았었고 켄트벡의 테스트주도개발책과 동영상 등을 접했으나 역시나 TDD는 어렵다는 생각이 든다. ㅠㅠ 특히 필자처럼 허접내공으로 무턱대고 달려드면 오히려 개발기간만 늘어나는 역효과를 가져올수도 있다.

그렇지만 배우기 어렵고 까다로운 TDD일지라도 일단 익숙해지면 그 무엇보다도 코드의 품질을 향상시킬수 있다. 게다가 개발의 단계가 테스트-코딩-리팩토링의 반복으로 단순화되면서 개발의 리듬감을 찾을 수 있게 된다.
필자도 지금까지 계속 나름대로 연습을 해오고 있지만 아직까지도 익숙하지 않다. 특히나 일정의 압박이 몰려오는 프로젝트후반부의 운영이 많이 힘든 것 같다.

일단 이 책을 다 읽는 데 그렇게 오랜시간이 걸리지는 않았다. 유닛테스트나 TDD에 관심이 있는 개발자라면 비교적 빠른시간에 지루하지 않게 볼 수 있는 내용이다.
또한 초보자가 접근하기에도 괜찮아보인다. 이 책의 시작부분에는 junit의 IDE 설정방법이라던지 초보자들도 참조할만한 내용이 많다. 시작부분은 켄트벡의 TDD책과 마찬가지로 간단한 은행계좌예제를 TDD방식으로 해결해나가는 방법으로 시작하고 있다. 중간부분에 Hamcrest와 Mock프레임워크를 이용하는 부분이 나오고 데이터베이스연동테스트를 수행하는 DBUnit에 관한 내용도 나온다. 마지막으로는 자동판매기 잔돈 계산 모듈을 TDD로 해결해 나간다.
중간중간에 주석과 저자한마디가 나오는데 내용의 흐름을 막거나 하진 않고 9장의 FAQ도 평소 궁금했던 점들에 관한 내용이 많아 만족스러웠다.

이책의 마지막 예제부분에 다음과 같은 내용이 나온다.
만일 개발할 부분에 대한 이해가 명확하지가 않다면, 개발 시작하기 전에 간단한 사용자 시나리오를 작성해 보는 것도 좋은 방법이다.
애자일방식으로 개발한다는게 설계와 시나리오도 없이 무턱대고 IDE 새파일로 달려드는건 아니라고 생각한다. 문서나 스펙협의에 들어가는 노력과 비중을 줄이고 빠른 피드백과 리팩토링을 선호하는 방식일 것이다.
그렇기때문에 TDD방식으로 개발을 진행할때도 어느정도의 설계와 시나리오를 가지고 접근하는게 더 좋다라는게 필자의 의견이고 100% 동감한다.

TDD는 어찌보면 외국어를 학습하는 것과 비슷하다는 생각이 든다. 이미 하나의 언어에 익숙해지도록 성장한 후에 다른 외국어를 배우려면 많은 노력이 필요하다. TDD도 마찬가지로 Top-down 방식과 납품일 위주의 개발스타일방식에서 전환하기엔 쉽지 않다. 아예 프로그래밍을 시작할때 TDD방식으로 시작하는게 가장 좋을 것이다. 하지만 대부분은 이미 다른 개발방식에 익숙해져있는 상황일 테니 이런 경우엔 계속 끊임없는 연습만이 해결방법일 듯 하다.

그런면에서 이 책은 TDD에 관한 많은 내용이 들어가 있고 또한 노하우가 담겨있다. 개발을 어느정도 해 왔던 경력자나 이제 개발을 시작하는 초보자 모두에게 권하고 싶은 책이다.


사진출처 : 강컴


저자블로그 : http://blog.doortts.com/
책주문 : http://kangcom.com/sub/view.asp?sku=201006080010



티스토리 툴바