그 유명한 Kent Beck 의 테스트 주도 개발을 며칠 전에 다 읽었습니다. 김창준씨의 번역이 매우 훌륭하고, 내용 자체도 상당히 유머러스 하면서도 핵심적인 내용을 잘 전달하고 있어서 많은 도움이 되었습니다. 특히 피보나치 수열 예제는 인상적이었고, 이런 훌륭한 책이 메일링 리스트와 위키를 통한 상호작용의 결과물이라는 점이 더욱 인상적이었습니다.
다만 xUnit 을 TDD 로 작성하는 부분은 흥미로운 주제이기는 했지만 바로 TDD 를 적용해 보고 싶은 저로서는 뭐랄까, 약간 지적인 장난 같아서 좀 지루한 감이 있었습니다. TDD 에 열광하는 사람이라면 정말 재미게 읽어내려갔을 대목이지만, TDD 를 어떻게 적용할 수 있는 가에 관심이 많은 저에게는 흥미롭긴 하지만 유용해 보이지는 않은 주제였습니다. (물론 그것이 실제로 유용한지 그렇지 않은지와는 관계 없이.)
어쨌든 하루 작업분을 전부 TDD 로 해 보았습니다. properties 파일로부터 기본적인 설정을 읽어들인 후, 각각의 서브시스템들이 사용할 수 있는 프로퍼티들을 생성하는 모듈을 작성하는 것이었습니다. 생성해야 할 프로퍼티의 수가 매우 많고 사용자가 디폴트 프로퍼티를 오버라이드 할 수 있는 경우와 할 수 없는 경우가 있어 상당히 복잡했음에도 불구하고, TDD 를 사용하니 확신을 갖고 별다른 어려움 없이 프로그래밍을 마칠 수 있었습니다.
TDD 는 확실히 저자가 말하는 심리적 효과와 스트레스의 경감을 보여줍니다. 비록 익숙치 않아 개발하는게 시간이 오래 걸리긴 했지만 아주 즐거운 경험이었습니다. 앞으로도 계속 TDD 를 시도하며 익숙해 지려고 노력해 보아야 겠네요.