DEV 2026.05.02 · 14 min
Intermediate Unit Testing · 7
테스트는 코드를 실행했다는 증거가 아니다
커버리지 100%가 버그를 잡지 못하는 이유부터 뮤테이션 테스팅, 속성 기반 테스트, 아키텍처 규칙 자동화, TDD 설계 피드백, 레거시 코드 공략까지 — 검증의 철학을 추적한다.
총 6개의 글
커버리지 100%가 버그를 잡지 못하는 이유부터 뮤테이션 테스팅, 속성 기반 테스트, 아키텍처 규칙 자동화, TDD 설계 피드백, 레거시 코드 공략까지 — 검증의 철학을 추적한다.
단일 동작 검증 원칙부터 경계값 분석, 파라미터화, 픽스처 관리, 의미 있는 단언까지 — 테스트를 설계하는 다섯 가지 핵심 원칙을 추적한다.
Dummy부터 Fake까지 다섯 종류의 Test Double이 왜 존재하는지, 잘못된 선택이 어떤 버그를 숨기는지, 그리고 verify()를 언제 써야 하는지 추적한다.
if (isTest) 분기부터 Assertion Roulette까지, 테스트 안티패턴의 근본 원인과 설계 교정을 추적한다.
의존성 주입부터 Hexagonal Architecture까지, 테스트 가능한 설계의 공통 원칙과 각 패턴이 어떻게 같은 철학을 다른 방식으로 표현하는지 추적한다.
단위의 정의부터 FIRST 원칙까지, 테스트가 팀의 짐이 아닌 자산이 되기 위한 설계 결정들을 추적한다.