새소식

카테고리 없음

서평 - 단위 테스트 (Unit Testing)

  • -

대구 놀러갔다가 획득한 마지막 재고

어떻게 읽게 되었나?

 

새로운 회사로 합류하게 되면서, 같이 업무를 진행하실 분께 여쭤보았습니다.

"합류 전까지 어떤 책을 읽고 합류하면 좋을까요?"

 

그렇게 추천받은 책이 이 단위 테스트 책입니다.

 

 

이직 텀 동안 국내 / 해외 여행을 계획했는데, 비행기와 다양한 지역의 카페에서 여유있게 읽게 되었습니다.

 

 

어떤 책인가?

블라디미르 코리코프 가 작성한 책이며, 단위 테스트에 대한 내용을 넘어서 어떻게 '잘' 테스트 할 것인가에 대한 내용을 담고 있습니다. 이 분의 블로그도 아주 알찬 내용이 많은 것 같습니다.

 

그래서 생각했던 것 보다 디테일한 예제는 많지 않고, 개념을 정리하고 간단한 예제들을 보여주는 식의 전개입니다.

 

간략하게 어떤 내용들을 담고 있는가를 살펴보면 다음과 같습니다.

  • 테스트가 왜 중요한가?
  • 테스트를 왜 잘 만들어야 하는가?
  • 테스트를 어떻게 해야하는가?
  • 단위테스트를 어떻게 만들어야 하는가?
  • 통합테스트를 어떻게 만들어야 하는가?

 

 

서평

이 책을 읽는 시점이 지금보다 가장 좋은 순간은 없었을 것 같습니다.

 

이전 회사에서 어마어마한 레거시 코드와 싸우며 테스트와 관련된 수많은 이슈를 마주했었기 때문인데요,

  • 테스트 커버리지 20%
  • @Disabled 처리된 수많은 통합 테스트
  • 무분별한 mocking
  • 알아보기 힘든 테스트
  • SpringBootTest로 인한 너무 느린 테스트

2년 이상 활발하게 개발되고 있는 프로젝트였으며 꽤나 코드의 볼륨이 컸습니다. 그래서 기능 추가나 변경 하나하나가 두려움의 연속이었고, 일일이 관련된 사이드 이팩트들을 확인해야 했기 때문에 cost 와 risk 가 함께 기하급수적으로 올라가는 불행한 상황이었던 것 같습니다.

 

그래서 항상 해당 프로젝트에서 테스트를 어떻게 뜯어고치는지가 항상 고민거리였습니다.

이런저런 방법들을 고민해서 테스트 방식들을 도입하고, 결국 코드 베이스까지 다시 점진적으로 리팩토링하는 하는 형태로 다가갔는데 추상적인 접근 방법으로는 시행착오가 너무 많았고 한계가 있었습니다. (물론 많은 것을 배우는 시간이었지만요)

 

https://lostechies.com/derickbailey/2010/11/11/cost-vs-risk-in-testing/

 

 

 

이 책은 제가 몇 달 동안 애매하게 고민하고 애매하게 결론냈던 흐름들을 그대로 책에 옮겨놓은 것 같았습니다.

 

논리정연하게 테스트에 대한 개념부터 빌드업을 해서, 왜 이게 나쁜 것이고 어떻게 해야 좋은 방법으로 개선할 수 있는지 방향성을 보기 좋은 흐름으로 정리되어 있습니다. 덕분에 책에서 정의해놓은 개념과 경험들이 퍼즐 조각 맞춰지는 느낌을 받는 아주 즐거운 경험이었습니다.

 

 

특히 이 책의 전반에서 강요하는 다음 개념들이 너무나도 마음에 들었습니다. 이 개념은 꼭 외워두고 다양한 개념들에 적용해도 좋을 것 같습니다.

 

 

 

다음주에는 미디엄 블로그에 이 책에서 다루는 내용을 item으로 예제와 함께 정리해서 올려보려고 합니다.

감사합니다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.