[책 리뷰] Unit Testing: Principles, Practices, and Patterns

2024. 3. 27. 20:54Books

 

이 책은 제목대로 유닛 테스트의 원리, 실전, 패턴에 대하여 다루는 책이다.

이 책을 읽게된 계기는 TDD(*Test-Driven Development, 테스트 주도 개발*)에 대해 공부하다가
’테스트’ 라는 개념에 대해 더 자세히 공부하고 싶었고, 테스트 비기너가 시작하기에 너무 짧지도 않고 너무 길지도 않은 책을 찾다가 이 책을 선택하게 되었다. (너무 짧으면 내용이 부실할까 걱정되었고, 너무 길면 읽다가 지칠까봐..)

책 초반에는 유닛 테스트의 목표와 개념에 대해 설명하며, 중반에는 잘 짜여진 유닛 테스트의 특성과 좋은 유닛 테스트를 작성 하는 방법, 후반에는 인티그레이션 테스트와 유닛 테스트 안티 패턴에 대해 설명하고 있다. 당연할지도 모르겠지만 프로그래밍을 막 시작하는 사람이 읽기에 좋은 책은 아니며, 어느정도 소프트웨어 디자인에 경험이 있고 관심이 있어야 이해할 수 있는 내용이었다.

처음에는 이 책을 단순히 유닛 테스트의 개념을 공부하기 위해 읽기 시작했었다. 하지만 잘 짜여진 유닛 테스트의 특성을 배우고 이 특성들을 지키는 유닛 테스트 코드를 작성하는 방법들을 배우면서 SUT(System Under Test)를 어떻게 설계 해야 하는지에 대해 많은 것을 배울 수 있었으며, 테스트 코드와 SUT의 코드가 독립적인게 아니라 SUT를 잘 설계해 놓아야 좋은 테스트 코드를 작성할 수 있음을 배울 수 있었다.

이 책을 읽으면서 좋았던 점은 어떤 개념을 설명하고 예제로 보충 해주는 것도 좋았지만 더 마음에 들었던 점은 이전 챕터의 핵심 내용을 다음 챕터, 또 다음 챕터에 지겹도록 반복해서 언급 해 준다는 것이다. 덕분에 핵심 내용들이 기억에 더 잘 남았던 것 같다. 

소프트웨어 디자인에 어느정도 경험이 있고 유닛 테스트에 관심이 생겼다면 이 책으로 시작해보라고 추천하고 싶다. 
유닛 테스트 말고도 배워가는 내용이 분명히 많을 것 이다.