JAVA · 테스트
E2E 테스트 전략
전체 시스템을 관통하는 E2E 테스트의 전략과 모범 사례입니다.
테스트중급E2E테스트피라미드전략모범사례
핵심 설명
전체 시스템을 관통하는 E2E 테스트의 전략과 모범 사례입니다.
Java code
// E2E 테스트 전략
// 테스트 피라미드:
// [E2E 테스트] ← 적게 (5-10%)
// [통합 테스트] ← 중간 (20-30%)
// [단위 테스트] ← 많이 (60-70%)
// E2E 테스트 작성 원칙
class E2ETestStrategy {
// 1. 핵심 시나리오만 E2E로 테스트
// @Test void 주문_전체_흐름() {
// // 사용자 로그인
// // -> 상품 검색
// // -> 장바구니 추가
// // -> 결제
// // -> 주문 확인
// }
// 2. 테스트 데이터 격리
// @BeforeEach void setup() {
// testData = TestDataFactory.createIsolatedData();
// }
// @AfterEach void cleanup() {
// testData.cleanup();
// }
// 3. 재시도 전략 (불안정한 외부 의존)
// @RetryingTest(3)
// void flakyExternalService() { ... }
// 4. 환경 설정
// @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
// @Testcontainers
public static void main(String[] args) {
System.out.println("E2E 모범 사례:");
System.out.println("1. 핵심 비즈니스 흐름만 테스트");
System.out.println("2. 테스트 데이터 격리 필수");
System.out.println("3. 비결정적 테스트(flaky) 즉시 수정");
System.out.println("4. 실행 시간 5분 이내 유지");
System.out.println("5. 실패 시 스크린샷/로그 자동 수집");
}
}학습 팁
E2E 테스트는 가장 비용이 높으므로 핵심 비즈니스 흐름(happy path)에 집중하세요. 엣지 케이스는 단위/통합 테스트로 커버합니다.
주의할 점
E2E 테스트가 다른 테스트의 데이터에 의존하면 순서에 따라 결과가 달라집니다. 각 테스트는 독립적으로 데이터를 생성/정리해야 합니다.
자주 묻는 질문
E2E 테스트 전략란 무엇인가요?
전체 시스템을 관통하는 E2E 테스트의 전략과 모범 사례입니다.
E2E 테스트 전략 학습 시 주의할 점은 무엇인가요?
E2E 테스트가 다른 테스트의 데이터에 의존하면 순서에 따라 결과가 달라집니다. 각 테스트는 독립적으로 데이터를 생성/정리해야 합니다.
Continue Learning
Java 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.