Test

[Test] E2E 테스트란?

우주유령 2025. 7. 13. 22:16
728x90
반응형

https://microsoft.github.io/code-with-engineering-playbook/automated-testing/e2e-testing/

 

E2E Testing - Engineering Fundamentals Playbook

E2E Testing End-to-end (E2E) testing is a Software testing methodology to test a functional and data application flow consisting of several sub-systems working together from start to end. At times, these systems are developed in different technologies by d

microsoft.github.io

 

 

E2E(End-to-End) 테스트란?

End-to-End(E2E) 테스트는 "처음부터 끝까지" 전체 시스템이 실제 사용자가 사용하는 방식과 동일하게 모든 구성 요소들이 함께 동작하는지 확인하는 종합 테스트 방법론입니다.


🔍 예를 들어 설명해볼게요

당신이 인터넷 쇼핑몰 웹사이트를 만든다고 가정해보죠.

이 웹사이트는 다음과 같은 여러 서브시스템들로 구성됩니다:

  1. 프론트엔드: 사용자가 보는 웹 페이지
  2. 백엔드 API 서버: 상품 정보, 장바구니, 결제 처리 등
  3. 결제 시스템: 외부 결제 대행사와 연동됨
  4. 배송 시스템: 주문한 상품이 어디까지 왔는지 알려주는 시스템
  5. 데이터베이스: 상품 정보, 사용자 정보 저장

🧪 단위 테스트 vs 통합 테스트 vs E2E 테스트 비교

테스트 종류무엇을 테스트하나요?예시
단위(Unit) 테스트 개별 함수, 모듈 장바구니에 상품을 담는 함수가 정상 동작하는지
통합(Integration) 테스트 2개 이상의 모듈이 함께 잘 작동하는지 장바구니에 담긴 상품이 주문 처리로 넘어가는지
E2E 테스트 전체 시스템이 실제처럼 작동하는지 사용자가 로그인 → 상품 선택 → 결제 → 주문 완료까지 실제로 해보는 시나리오 테스트
 

💡 왜 E2E 테스트가 중요한가요?

  • 각각의 시스템(프론트엔드, 백엔드, 결제 등)은 개별적으로는 잘 작동할 수 있지만,
  • 서로 연결되었을 때 오류가 생길 수 있어요.
    • 예: 결제는 성공했지만, 배송 시스템에는 주문 정보가 전달되지 않음
  • 이런 연동 문제를 실제 사용자처럼 테스트해서 찾는 것이 E2E 테스트의 핵심입니다.

📌 핵심 포인트 요약

  • End-to-End 테스트는 '전체 사용자 플로우'를 검증하는 것입니다.
  • **여러 시스템(서브시스템)**이 통합된 상태에서,
  • 사용자의 행동 흐름을 따라가며,
  • 실제 사용 환경처럼 테스트합니다.
728x90
반응형