BOOKSEEK BOOK NOTES
단위 테스트
테스트 개수나 커버리지보다 결함 발견 능력과 유지 비용을 평가하는 책입니다. C# 예제로 단위·통합 테스트와 설계의 관계를 살피고, 이미 작성한 테스트가 자주 깨지거나 관리 부담을 만드는 이유를 점검하는 읽기를 안내합니다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
책의 기본 정보
- 출판사
- 에이콘출판
- 출간일
- 2021-10-20
- 분량
- 400쪽
- ISBN
- 9791161755748
책의 내용과 읽을 거리
『단위 테스트』는 테스트를 얼마나 많이 작성했는지보다 어떤 가치가 생겼는지를 판단하게 하는 책입니다. 회귀를 찾아내는 힘과 구조 변경에 대한 안정성, 빠른 피드백과 유지 비용을 함께 살펴봅니다. 이미 테스트를 쓰고 있지만 자주 깨지거나 관리 부담이 커지는 이유를 알고 싶은 개발자에게 특히 잘 맞습니다.
코드 커버리지 수치를 읽는 방법부터 점검해 볼 수 있습니다. 실행된 코드가 많다는 사실만으로 중요한 동작이 충분히 검증됐다고 결론 내릴 수는 없습니다. 책에서 제시하는 품질 관점을 따라, 자신의 테스트가 어떤 잘못된 변경을 발견할 수 있는지와 발견하지 못하는 변경은 무엇인지 적어 보세요.
테스트를 고립시키는 방식과 의존성을 다루는 관점에는 서로 다른 선택이 있습니다. 이 책은 단위 테스트를 바라보는 접근을 비교하고 목의 활용을 검토합니다. 특정 도구를 사용한다는 사실보다 검증하는 동작과 내부 구현의 결합이 얼마나 강한지 살펴보는 것이 읽기의 중심입니다.
좋은 테스트를 쓰기 위해 생산 코드의 구조를 다시 생각해야 하는 경우도 있습니다. 업무 규칙과 외부 시스템 연결이 한곳에 섞여 있으면 빠르고 안정적인 검증을 구성하기 어려워집니다. 책이 테스트 스타일과 소프트웨어 아키텍처를 함께 다루는 이유를 자신의 작은 기능과 비교해 보세요.
통합 테스트는 단위 테스트를 충분히 쓰지 못했을 때의 대체물로만 볼 수 없습니다. 서로 다른 구성 요소가 실제로 맞물리는지 확인하는 역할이 있기 때문입니다. 두 종류의 테스트가 발견할 수 있는 문제를 나누고, 대역을 사용한 테스트에서 놓칠 수 있는 연결 오류를 어느 단계에서 확인할지 질문해 보세요.
팀의 테스트를 평가할 때는 모든 항목을 한 번에 고치려 하기보다 반복적으로 문제가 되는 한 묶음을 선택해 보세요. 실패를 조사한 시간, 실제 버그를 찾았던 사례, 구조 변경 때문에 수정했던 이유를 간단히 기록할 수 있습니다. 그 기록을 책의 품질 기준과 비교하면 추상적인 원칙을 현실의 비용으로 바꿔 볼 수 있습니다. 수치 하나로 순위를 만들기보다 어떤 검증을 강화하고 어떤 결합을 줄일지 대화하는 자료로 쓰는 편이 좋습니다.
한국어판은 2021년 출간본이고 예제는 C#을 사용합니다. 원리를 다른 언어에 적용할 수는 있지만 사용 중인 프레임워크의 설정법까지 자동으로 같아지는 것은 아닙니다. 테스트를 처음 쓰는 단계보다는 기본 개념을 알고 품질과 비용을 평가할 기준이 필요한 시점에 펼치면 책의 질문을 구체적으로 받아들이기 좋습니다.
이 책에서 공부할 수 있는 내용
단위 테스트의 가치와 품질 기준, 의존성과 목의 사용, 테스트하기 쉬운 코드 구조, 통합 테스트의 역할을 공부할 수 있습니다. 단순한 커버리지 목표 대신 어떤 결함을 발견하고 어떤 변경을 허용하는지 따져 봅니다. 최근 자주 실패한 테스트를 골라 실제 회귀와 불필요한 실패를 구분해 보세요.
설명 방식에서 눈여겨볼 특징
- 품질의 여러 기준: 결함 발견과 변경 안정성, 속도와 유지 비용을 함께 봅니다.
- 커버리지 해석: 숫자와 테스트의 가치를 구별합니다.
- 설계와 연결: 테스트의 어려움을 코드 구조와 함께 살핍니다.
- 단위·통합의 역할: 각 검증 단계가 맡을 범위를 비교합니다.
이런 독자에게 권합니다
단위 테스트의 기본을 알고 테스트 모음을 개선하려는 개발자에게 권합니다. C# 예제를 읽을 준비가 있으면 수월하지만 책의 중심은 도구 문법이 아닌 평가 기준입니다. 높은 커버리지를 달성하는 일보다 중요한 동작을 적은 유지 비용으로 확인하는 방향을 찾을 때 활용하세요.
이 책에서 주로 다루는 내용
- 단위 테스트의 목표와 품질 기준
- 의존성·테스트 스타일과 코드 설계
- 통합 테스트의 역할과 피할 패턴
작가 소개
블라디미르 코리코프는 단위 테스트와 소프트웨어 설계에 관한 글과 교육 자료를 집필해 온 저자입니다. 원서 출판사는 여러 개발팀에 테스트의 원리와 적용 방법을 지도해 온 경험을 소개합니다.