TDD에 관심이 있는 개발자라면..
테스트 주도 개발(TDD)는 더이상 새로운 기술도 트랜드도 아닌 많은 개발자들이 관심을 갖고 사용하고 있는 그런 개발 방법론이라 생각한다.(실제 소개된지도 꽤 된것 같다.) 다만 업무의 특성상이나, 개인의 귀찮음 혹은 두려움 때문에 알고는 있지만 실천으로 옮기기에 어려운 부분이 많은 것 같다. 주위의 개발자를 보면 TDD가 무엇인지 알고 있고, TDD의 장점에 대해 크게 공감을 하지만 막상 실천하는 사람은 드문것 같다. 실천하는건 참 어렵다.
TDD를 실천을 위한 지침서
“테스트 주도 개발 TDD 실천법과 도구” 는 제목 그대로 TDD를 알고 있지만 실천하지 못하는 사람을 위한 친절한 지침서 이다. TDD에 대해 기본부터 차근 차근 잘 소개되어 있다. 이 책 한권 보면 TDD를 하기 위한 기틀을 마련한 거라고 해도 과언이 아닐것이다. jUnit를 쓰는 방법 부터 Mock 소개, 데이터 베이스 테스트, 패턴등등이 소개되어 있고, 실습예제도 제공하고 있다.
술술 읽히는 재미있는 책
내가 생각하는 이 책의 가장 큰 장점은 참 읽기 쉽다는 점이다. 오랜만에 술술 읽히는 책을 보느라 시간가는 줄 몰랐다. 이 책은 결코 딱딱한 전공 서적이 아니다. 블로그 글을 보는듯 편안했고, 바로 옆에서 멘토가 친절하게 설명해주는 듯한 느낌이 들었다. 이렇게 읽기 편한 책은 재미있고 내용도 오랫동안 남는다.
다른 책 같으면 보통 jUnit을 소개하는 부분이라면 jUnit 소개가 나오고 그 특징과 사용하는 메소드 들이 주르륵 표로 나열되고 왠지 이런것들을 다 외워야 코딩할 수 있을 것 같은 기분이 들게끔 하는데 이 책은 그렇지 않다. jUnit 이 없이 콘솔에서 로그를 찍으며 TDD를 하는 것 부터 알려주며 자연스럽게 jUnit을 쓰면 TDD를 하는데 더 편하다는 것을 알려준다. Mock에 대한 개념을 설명하는 부분도 더미 객체 부터 Mock 객체 까지 자연스럽게 이해할 수 있도록 설명한다. 갑자기 용어가 툭 튀어 나와 당혹스럽게 하거나 내가 참 국어를 못하는 구나 라고 깨닳게 해주는 이상하게 꼬아 놓은 문장들(특히 번역서는 더하다) 없이 읽기 쉽게 잘 쓰여진 문체가 어려운 내용을 이해하기 쉽게 만들어 준다.
2% 부족해..
이 책 한권으로 TDD에 모든것을 알 수는 없다. TDD의 완성은 경험을 통해 완성되는것 같고 이 책은 경험을 쌓기 위해 어느것을 준비하면 되는지 알려주는 지침서다. TDD를 실천하기 위해 준비되어야 할 툴이나 라이브러리에 대한 설명은 부족함 없이 잘 되어 있다.
다만 처음에 이 책을 통해 테스트를 하는 패턴이나 테크닉, 노하우에 대한 것을 알 수 있기를 바랬지만 이부분에 대해서는 부족한것 같다. TDD에 대해 개념이나 정신, 방법에 대해서는 바이블 격인 “테스트 주도 개발”을 보면 도움이 될것 같고, TDD에 대한 패턴이나 테크닉에 대한건 “xUnit 테스트 패턴”을 보면 도움이 될 것 같다. 실제 프로젝트에서 시스템을 구축한다면 “자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기” 를 참고한다면 도움이 될 것이다. 이 밖에도 “자바 프로그래밍(agile java 번역서)” 도 TDD를 익히는데 좋을것 같다. 국내에 나온 책들만 소개해 보았지만 번역되지 않은 관련 원서도 꽤 많다.
가뭄의 단비 같은 책
생각은 누구나 할 수 있지만 실천하는 건 정말 어려운것 같다. TDD에 대해 생각만 하고 있다면 이제는 실천도 필요하다. 이 책을 곁에 두고 있다면 실천하는데 큰 도움이 될 것이다.