몇년전부터 애자일과 함께 큰 이슈가 되고 있는 TDD. 드디어 책을 봤다. ㅎ 1년반동안 개발을 하면서 테스트의 중요성은 크게 느끼고 있었다. 아주 작은건 그나마 괜찮지만 조금만 규모를 큰걸 만들면 계속 제대로 돌아갈 것인가 하는 두려움이 있고 기능을 추가해가면서 매번 다 테스트를 할 수도 없고 공통모듈 수정이나 리펙토링을 할때는 특히 다른 사이드이펙트가 있을지 걱정되는 것은 별수 없는 일이다.
이때문에 완벽히는 아니더라도 이에 대한 안정장치가 있었으면 하는 마음이 계속 있었고 그것중 하나로 TDD에 대한 필요성을 꽤 느기고 있었고 TDD가 무엇인가 정도가 아닌 실개발에 TDD를 도입하고자 하는 마음으로 이 책을 봤다.
TDD세미나도 가본적 있고 그동안 좀 관심있게 지켜보고 있었는데(지켜만 봤다. ㅡ..) TDD엣 Driven의 개념을 내가 망각하고 있었던 듯하다. 내가 생각하고 있었던 것은 Development with Test 정도였던 것이다. 아주 명확한 개념있데도 어느새 개발을 위한 테스트 정도로만 생각하고 있었던 것이다. 이책에서는 그 개념을 확실히 설명해 주고 있다. 테스트부터 만들고 개발을 하는... 흠.... 말은 쉽지만....
켄트백의 이미지대로 장황하게 개념 설명하고 그런것 보다는 그냥 예제를 통해서 처음부터 끝까지 설명해주고 있다. 아주 간단한 예제부터 시작해서 TDD를 하는 것을 보여주고 TDD에서 핵심적으로 신경써야 되는 개념들과 패턴들에 대해서도 자세하게 보여준다. 초반에는 자바로 설명하고 중반부터는 파이썬을 이용해서 예제를 보여주고 있다.
뭐 당연한거지만 TDD는 간단한 테크닉정도를 넘어서기 때문에 이 책한권 보고 TDD를 적용하기는 어렵다. 책이 설명을 못했다는게 아니라 그만큼 TDD를 적용한다는게 기존의 개발방식 자체를 바꾸는 거라 쉽지 않을꺼라고 생각된다. 하지만 할수만 있다면 그 이점을 상당히 크리라고 생각된다. 몇년사이에 TDD도 꽤 자리잡아서 이것저것 테스트프레임워크도 많고 할만해 졌다고 생각한다. 물론 초기에는 도입에 상당히 어려움이 있을꺼라고 생각하고 여기있는 개념을 한방에 이해하기는 어렵지만 옆에두고 계속 참고하면서 몸에 익히면 좋을 듯 하다.
나도 이제 TDD 좀 해보자라는 생각에 기대하고 있다. ㅎㅎㅎ
켄트 벡이 한국에 옵니다. 관심이 있으실 것 같아 링크를 남깁니다.
http://www.sten.or.kr/bbs/board.php?bo_table=news&wr_id=1807