"단위 테스트가 많을수록 좋은가"라는 질문에서 출발해, 테스트 피라미드와 테스팅 트로피라는 두 모양을 대비시키며 무엇을 어느 수준에서 검증해야 확신이 생기는지를 따진다. 결론은 정해진 모양을 따르는 게 아니라, 지금 테스트가 실제 변경과 배포에 충분한 신뢰를 주는지 스스로 묻는 것이다.
핵심 포인트- 단위 테스트는 부품 하나를 고립해 빠르고 싸게 검증하고, 통합 테스트는 모듈 협력을 실제 흐름에 가깝게 확인하지만 실행 비용이 커진다 — 피라미드는 '부품이 옳으면 조립도 동작한다'를 전제로 하나 그 확신은 연결까지 검증돼야 성립
- 이름 마스킹의 private 세부를 노출해 테스트하자 외부 동작은 같은데 리팩터링만으로 테스트가 깨진 사례로, 구현 결합도 높은 테스트가 유지보수를 방해함을 보여줌
- 고립을 위한 가짜 객체는 실제 컴포넌트가 함께 동작하는지를 보장하지 못한다는 한계 — 테스팅 트로피는 통합 비중을 높여 사용자 흐름과 협력에 대한 신뢰를 강화
왜 읽나테스트 커버리지 숫자나 유행하는 구성 비율에 휘둘리는 대신, 리팩터링 내성과 협력 검증을 기준으로 자기 상황에 맞는 테스트 구성을 판단하려는 개발자에게.