구글 테스트 3분류

song yuheon·2023년 9월 20일
1

Spring

목록 보기
77/93
post-thumbnail


1. Small Tests


  • 목적
    코드의 특정 작은 부분, 일반적으로는 단일 함수 또는 메소드를 테스트한다.
  • 리소스
    외부 의존성이 없거나 목(mock) 객체를 사용하여 외부 의존성을 제거한다.
  • 실행 시간
    매우 빠르며 수 밀리초 또는 수 초 이내에 실행된다.
  • EX)
    JUnit, Mockito 등을 사용하여 Java 메소드를 테스트하는 경우.
  • 특징
    1. 단일 서버
    2. 단일 프로세스
    3. 디스크 I/O 사용 X
    4. 단일 스레드
    5. Blocking Call 허용 X

2. Medium Tests


  • 목적
    코드의 여러 부분이 함께 올바르게 작동하는지 테스트한다.
    두 개 이상의 컴포넌트 또는 시스템을 통합하여 테스트한다.

  • 리소스
    외부 시스템에 대한 접근이 일부 필요할 수 있으며 데이터베이스 또는 파일 시스템에 접근할 수 있다.

  • 실행 시간
    작은 테스트보다 시간이 더 걸리며, 수 초 또는 수 분이 소요된다.

  • EX): 두 개 이상의 서비스 또는 모듈을 통합하여 테스트하는 경우 해당

  • 특징:

  1. 단일 서버
  2. 멀티 프로세스
  3. 멀티 스레드

3. Large Tests


  • 목적
    전체 시스템 또는 애플리케이션의 end-to-end 테스트를 수행한다.

  • 리소스
    전체 시스템을 구동하는데 필요한 모든 리소스에 접근해야 한다.

  • 실행 시간
    가장 많은 시간이 소요되며 수 분, 수 시간 또는 그 이상 걸릴 수 있다.

  • EX)
    사용자 인터페이스를 통한 전체 애플리케이션 플로우를 테스트하는 경우

  • 특징

    1. 멀티 서버
    2. End to end 테스트

profile
backend_Devloper

0개의 댓글