Skip to content

Latest commit

 

History

History
39 lines (24 loc) · 1.95 KB

File metadata and controls

39 lines (24 loc) · 1.95 KB

1 Integration Testing이란?

  • Integration Testing을 알아보기 앞서 먼저 단위 테스트에 대해서 알아보자
    • 단위 테스트의 정의는 학파마다 다른데 런던파와 고전파로 나뉜다
    • 학파별로 단위 테스트와 통합 테스트를 구분하는 기준이 다르다
    • 런던파 고전파에 대한 자세한 설명은 Unit-Testing.md 참고

1.1 런던파 관점 통합 테스트

  • 런던파 관점에서 실제 협력자 객체를 사용하는 모든 테스트를 통합 테스트로 간주한다

1.2 고전파 관점 통합 테스트

  • 고전파 관점의 단위 테스트 정의는 아래와 같다
  • 단위 테스트는
    • 단일 동작 단위를 검증하고
    • 빠르게 수행하고
    • 다른 테스트와 별도로 처리한다
  • 고전파 관점에서 위 기준 중 하나를 충족하지 못하면 통합 테스트로 간주한다
  • 예를 들면
    • 공유 의존성(대표적으로 데이터베이스)을 대체하지 않고 테스트하면 다른 테스트와 별도로 처리한다라는 기준을 충족하지 못해 통합 테스트
    • 마찬가지로 프로세르 외부 의존성(대부분 공유 의존성)에 접근하면 테스트가 느려져 빠르게 수행하고라는 기준을 충족하지 못해 통합 테스트
    • 둘 이상의 동작 단위를 검증하면 단일 동작 단위를 검증하고라는 기준을 충족하지 못해 통합 테스트

1.3 엔드 투 엔드 테스트

  • 엔드 투 엔드 테스트는 통합 테스트의 일부다
  • 엔트 투 엔트라는 명칭은 모든 외부 애플리케이션을 포함해 시스템을 최종 사용자 관점에서 검증하는 것을 의미한다
    • 따라서 엔트 투 엔트 테스트가 일반적으로 통합 테스트보다 의존성을 더 많이 포함한다

참고