지금은 선택한 사이트 ()에서 CI Visibility를 사용할 수 없습니다.

_불안정한 테스트_는 동일한 커밋에 대한 여러 번의 테스트 실행에서 합격 및 불합격 상태를 모두 나타내는 테스트입니다. 어떤 코드를 커밋하고 CI를 통해 실행한 테스트가 실패했습니다. 그런데 재실행 후 테스트가 통과되면 해당 테스트는 품질 코드에 대한 증거로 신뢰할 수 없습니다.

불안정한 테스트는 CI 시스템과 최종 제품에 위험과 예측 불가능성을 초래합니다. 사용자가 어떤 테스트가 불안정한지 기억해야 한다면 테스트 결과에 대해 신뢰할 수 없고, 파이프라인 재시도에 엄청난 시간과 리소스가 낭비됩니다.

테스트 서비스 페이지로 이동하여 특정 테스트 서비스 및 브랜치에 대한 불안정한 테스트 테이블를 확인하세요. 선택한 기간에 발생한 모든 불안정한 테스트를 확인할 수 있습니다.

테스트 서비지 페이지의 불안정한 테스트 테이블

이 앱은 다음과 같은 정보를 제공하여 불안정한 테스트의 우선 순위를 지정할 수 있도록 도와줍니다:

  • Average duration: 테스트를 실행하는 데 걸리는 평균 시간입니다.
  • First and Last flaked: 테스트가 처음 그리고 가장 최근에 불안정한 동작을 보인 날짜 및 커밋 SHA입니다.
  • Occurrences: 테스트에서 불안정한 동작을 보인 커밋 수입니다.
  • Failure Rate: 처음 결함이 발생한 이후 실패한 테스트 실행의 백분율입니다.
  • Trend: 불안정한 테스트가 수정되었는지 또는 여전히 불안정한 상태인지를 나타내는 시각화입니다.

수정하려는 불안정한 테스트를 식별한 후 테스트를 클릭하면 가장 최근에 실패한 테스트 실행 또는 첫 번째 불안정한 테스트 실행을 볼 수 있는 링크가 표시됩니다.

참고: 이 테이블은 선택한 기간에 가장 많은 불안정한 커밋을 가진 1000개의 불안정한 테스트로 제한됩니다.

복구

지난 30일 동안 불안정한 테스트가 실패하지 않은 경우 테이블에서 자동으로 제거됩니다. 테스트 행 위에 커서를 놓았을 때 나타나는 휴지통 아이콘을 클릭하여 불안정한 테스트를 수동으로 제거할 수도 있습니다. 불안정한 동작이 다시 나타나면 다시 추가됩니다.

새로운 불안정한 테스트 확인

이러한 테스트는 불안정한 동작을 나타내며 이전에는 리포지토리의 현재 브랜치 또는 기본 브랜치에 대한 불안정한 테스트 테이블에 존재하지 않았던 테스트입니다.

테스트 실행 페이지

  1. Test Runs 페이지로 이동합니다.
  2. 왼쪽 사이드바의 패싯 목록에서 Test 섹션의 New Flaky 패싯을 확장하고 true를 선택합니다. 위의 정의에 따라 처음으로 불안정한 동작을 보인 모든 테스트 실행이 표시됩니다.

브랜치 페이지

  1. Tests 페이지에서 Branches 보기를 선택합니다.
  2. 테이블을 필터링하여 관심 있는 브랜치, 서비스 또는 커밋을 확인합니다.
  3. 위의 정의에 따라 최신 커밋에 의해 초래된 새로운 불안정한 테스트 수를 보려면 New Flaky 열을 확인하세요.

실수로 감지된 새 불안정한 테스트 무시

특정 커밋에 대한 새로운 불안정한 테스트가 실수로 감지되었다고 판단되면 무시할 수 있습니다. 커밋에 다시 결함이 나타나면 테스트가 다시 나타납니다.

New Flaky 번호를 클릭한 다음 Ignore flaky tests를 클릭합니다.

커밋에 대한 모든 새 불안정한 테스트 무시하기

알려진 불안정한 실패 테스트 확인

알려진 불안정한 실패 테스트는 리포지토리의 현재 브랜치 또는 기본 브랜치에서 불안정한 동작을 하는 테스트입니다.

테스트 실행 페이지

  1. 테스트 실행 페이지로 이동합니다.
  2. 왼쪽 사이드바의 패싯 목록에서 Test 섹션의 Known Flaky 패싯을 확장하고 true를 선택합니다. 위의 정의에 따라 불안정한 것으로 알려진 실패한 테스트 실행이 표시됩니다.

브랜치 페이지

  1. 테스트 페이지에서 브랜치 보기를 선택합니다.
  2. 관심 있는 브랜치, 서비스 또는 커밋을 보기 위해 테이블을 필터링합니다.
  3. Failed 열에는 최근 커밋에서 실패한 테스트와 알려진 불안정한 실패 테스트의 수가 포함됩니다.
선택된 브랜치와 Failed 열에 실패한 테스트 1 및 알려진 불안정 테스트 1을 표시하는 텍스트 상자가 있는 CI 테스트 브랜치 보기

불안정한 테스트 속성

불안정한 테스트 실행, 새로운 불안정한 테스트 실행 또는 알려진 불안정한 테스트 실행에는 쿼리를 필터링하거나 대시보드 및 모니터를 만드는 데 사용되는 속성이 포함되어 있습니다.

이름속성설명
Flaky@test.is_flaky:true테스트 실행이 커밋에서 불안정해졌습니다. 이 테스트 실행이 실패하고 동일한 테스트와 커밋에 대해 이전에 실행한 테스트가 통과했거나 이 테스트의 실행이 통과하고 이전에 실패한 테스트가 있습니다. 이 속성은 한 커밋에서 처음으로 테스트 불안정이 감지된 경우에만 존재합니다.
New Flaky@test.is_new_flaky:true테스트 실행은 커밋에서 (위의 “Flaky"의 정의에 따라) 실패했으며, 이전에는 테스트 실행의 브랜치 또는 리포지토리 기본 브랜치의 “Flaky tests"테이블에 존재하지 않았습니다. 즉, 테스트가 “Flaky tests” 테이블에 추가되었음을 의미합니다.
Known Flaky@test.is_known_flaky:true테스트 실행은 커밋에서 (위의 “Flaky"의 정의에 따라) 실패했으며, 테스트 실행의 브랜치 또는 리포지토리 기본 브랜치의 “Flaky test” 테이블에 이미 존재했습니다. 즉, 이 테스트는 과거에 불안정한 것으로 감지되었으며, 이번 실패는 이 커밋의 변경 결과가 아닐 수 있습니다.