다음을 통해 공유


테스트 모드

TAEF는 다양한 방법으로 테스트 실행 동작을 수정하는 여러 테스트 모드를 제공합니다. TAEF의 기본 실행에 대해 잘 알고 있는지 확인하려면 이 섹션을 진행하기 전에 테스트 작성테스트 실행을 참조하세요.

참고: 테스트 모드는 서로 호환되지 않습니다. 지정된 테스트 실행 중에 하나의 테스트 모드만 사용하도록 설정할 수 있습니다.

현재 TAEF에서 제공하는 테스트 모드는 다음과 같습니다.

루프 테스트 모드

"루프 테스트 모드"는 개별 테스트를 반복하거나 전체 테스트 실행을 위한 간단한 기능을 제공합니다. 루프 테스트 모드는 테스트 자동화의 견고성을 확인하거나 스트레스 또는 장거리 자동화를 쉽게 얻는 데 적합합니다.

루프 테스트 모드는 /testmode:loop 명령 옵션을 지정하여 사용하도록 설정됩니다. 특정 동작을 제어하는 두 가지 다른 선택적 매개 변수가 있습니다.

/Loop:<loopNum>
전체 실행이 실행되는 횟수를 제어합니다(기본값:1).

/LoopTest:<loopTestNum>
실행의 각 테스트가 실행되는 횟수를 제어합니다(기본값:10).

아래 다이어그램에서는 TAEF가 두 개의 테스트 메서드를 포함하는 단일 테스트 클래스를 포함하는 단일 테스트 파일로 구성된 테스트 실행을 나타내는 방법을 보여 줍니다.

'looptest' 매개 변수를 사용하여 TAEF에서 실행 흐름을 보여 주는 다이어그램

다이어그램의 화살표는 TAEF에서 실행 흐름을 보여 줍니다. TAEF가 설치 픽스처를 실행하는 방법, 테스트 자체 및 테스트가 완료된 후 적절한 정리 픽스처가 실행되는 방법을 보여 줍니다. 'looptest' 값을 사용하면 TAEF가 테스트 메서드 자체를 반복합니다( 가능한 가장 작은 scope). 테스트에 대한 설정 및 정리가 실행 되지 않습니다 . 데이터 기반 테스트에도 동일한 동작이 발생합니다. 'looptest' 값은 'Test 메서드' 수준에서 루핑을 제어합니다.

Test 메서드만 반복할 수 없는 경우가 있으며, 여기서 'loop' 매개 변수를 사용할 수 있습니다. 아래 다이어그램은 TAEF가 단일 테스트 클래스를 포함하는 각 파일과 단일 테스트 메서드를 포함하는 각 테스트 클래스로 구성된 테스트 실행을 나타내는 방법을 보여 줍니다.

'loop' 매개 변수를 사용하여 TAEF에서 실행 흐름을 보여 주는 다이어그램

'loop' 매개 변수는 가능한 가장 큰 scope 전체 실행에서 루핑을 제어합니다. Te.exe 단일 테스트 파일을 지정하거나 여러 테스트 파일이 있는 경우 전체 실행은 지정된 횟수만큼 반복됩니다.

스트레스 테스트 모드

TAEF에 대한 '스트레스' 테스트 모드는 사용자가 '스트레스' 환경에서 테스트를 실행하는 데 도움이 됩니다. "/testmode:stress" 명령 옵션을 통해 스트레스 테스트 모드를 사용하도록 설정하면 다음 동작이 사용하도록 설정됩니다.

  1. Te.exe 무기한 실행 - Te.exe Ctrl+C를 명령 프롬프트로 보내거나 WM_CLOSE 메시지를 숨겨진 창으로 보내 중지해야 합니다.

  2. Te.exe 실행되는 테스트의 첫 번째 '그룹'을 반복합니다 . 실행 중에 후속 파일이 로드되지 않도록 하려면 Te.exe 실행되는 테스트의 첫 번째 '그룹'에서 반복합니다. 다음 사항에 유의합니다.

    1. 명령 프롬프트에서 선택하지 않고 여러 테스트 파일을 지정하면 첫 번째 테스트 파일만 실행됩니다.
    2. 명령 프롬프트에서 선택 쿼리와 함께 여러 테스트 파일을 지정하는 경우 선택 조건이 충족되는 첫 번째 테스트 파일 내의 테스트만 실행됩니다.
    3. 모듈 수준에서 데이터 기반인 테스트 파일을 지정하면 실행되는 데이터 기반 매개 변수의 첫 번째 조합이 반복됩니다.
  3. '스트레스 로거'가 사용하도록 설정됨 - 로깅에서 사용하는 리소스의 양을 최소화하기 위해 Te.exe 최소 출력 로거로 전환됩니다.

    • 오류만 콘솔에 기록됩니다. 다른 로그 항목은 기록되지 않습니다.
    • 60초마다 로거는 현재 통과/실패 횟수를 콘솔에 출력합니다.
    • 1초마다 로거는 단일 '.'를 출력하여 Te.exe 여전히 작동하고 있음을 표시합니다.

스트레스 테스트 모드에서 실행하는 경우 "/inproc" 스위치도 지정해야 합니다. 즉, 모든 스트레스 실행이 Te.exe 프로세스에서 실행됩니다. 이 제한으로 인해 TAEF가 실행하기 위해 별도의 샌드박스 프로세스를 시작하고 유지 관리할 필요가 없으므로 메모리 할당 실패로 인한 테스트 실패가 최소화됩니다.