Book_review

Effective Unit Testing (개발자를 위한 단위 테스트)

Roien 2015. 3. 10.
반응형
Effective Unit Testing (개발자를 위한 단위 테스트)


소프트웨어의 개발에 있어서 설계는 무엇보다 중요하며, 설계를 실체화 시킬 수 있는 구현 역시 중요하다. 뿐만 아니라 요구사항에 맞는 구현을 달성했는지 파악하기 위한 명세에 대한 test부터 작은 함수 단위의 코드를 검증하는 unit test까지 개발 공임을 최대한 낮출 수 있는 핵심적인 방법으로서 test의 중요성을 아무리 강조해도 지나치지 않다. 특히 개발에 있어서 unit test는 기본이 되는 가장 중요한 test임에 틀림없다. 이 책은 이런 unit test를 작성하는 방법에 대해서 보다 구체적이고 효과적인 방식을 알려주고자 작성된 책이다. 


이 책의 초반에는 test의 방법 그 자체를 알려 주려고 노력하지 않고 좋은 coding에 대해서 알려 주려고 한다. 좋은 coding 즉, 읽기 쉽고 유지 보수가 용이한 코드가 디버깅이 용이한 즉, test가 용이한 코드 작성의 기본이기 때문이다. 이를 위해 가독성을 높일 수 있는 방법에 대해서 설명한다. 이와 관련된 설명의 시작으로 code의 bad smell에 대한 이야기를 다룬다. 그리고 유지보수성을 높이는 방법에 대해서 설명한다. 책의 내용 대부분은 사실 test에 대한 내용이 아니다. 이처럼 test를 가능하게 하는 코딩의 기본에 대해서 이야기 한다. 그리고 책의 종반부에 들어가면서는 test가 가능한 좋은 소프트웨어 설계에 대해서 이야기 한다. 객체지향의 기본인 SOLID 원칙부터 Hollywood 원칙, 그리고 구체적인 문법상의 패턴까지 다룬다. 마지막에 가서 JUnit 같은 Unit test의 tool들을 소개 한다. 


이 책의 제목은 Effective Unit Testing임에도 불구하고 이 책의 내용은 대부분 좋은 소프트웨어의 구현 즉, 코딩 방법과 설계 방법에 대해서 다루고 있다. test에 앞서 문제, 즉 버그의 해결은 이러한 방법으로 해결 하는 것이 맞다. 그러나 이 책의 제목은 분명히 unit test인데, 이 책의 제목만 보고 책을 구입한 사람들의 경우 다소 제목과 내용의 상이함에 대해서 실망할 여지가 있어 보인다. 그럼에도 불구하고 좋은 코딩 및 설계에 대한 지침을 간략하게나마 언급하고 넘어간다는 점에서 이 책은 꼭 읽어 볼만한 책이라고 생각한다.


반응형

댓글