TEST LEVEL DECISION

통합 테스트와 E2E 테스트는 “검증할 위험”으로 나눈다

같은 기능이라도 모듈 연결이 위험하면 통합 테스트, 실제 사용자 여정이 위험하면 E2E 테스트가 더 잘 맞는다.

Integration

모듈 경계가 핵심일 때

컴포넌트, 상태 관리, API 호출이 같은 데이터 계약을 지키는지 확인한다.

E2E

사용자 흐름이 핵심일 때

브라우저에서 입력, 이동, 결과 확인까지 실제 사용자의 순서를 재현한다.

Keep Small

유지 비용을 제한할 때

실패 원인을 빨리 찾을 수 있도록 넓은 테스트는 핵심 경로만 남긴다.

기능별 매칭 예시

로그인 폼 폼 상태와 API 응답 처리 연결 Integration
회원가입 완료 입력부터 완료 화면까지의 여정 E2E
장바구니 합계 상품 선택과 상태 계산의 결합 Integration
결제 전환 사용자 손실이 큰 핵심 경로 E2E

운영 원칙

단위 테스트가 잡지 못하는 연결 위험을 통합 테스트로 메우고, 배포 전 반드시 살아 있어야 하는 여정만 E2E로 잠근다.

판단 질문: 실패했을 때 “어느 모듈 계약이 깨졌는지”를 보고 싶다면 통합 테스트, “사용자가 끝까지 성공하는지”를 보고 싶다면 E2E 테스트가 더 적합하다.