다음을 통해 공유


테스트 요약 샘플 보고서

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

파이프라인 실행을 실행하고 파이프라인 정의 내에 테스트 태스크를 포함하는 경우 여러 테스트 결과에 대한 테스트 실행 수를 나타내는 보고서를 만들 수 있습니다. 통과됨, 실패, 실행되지 않음, 영향을 받지 않음.

다음 이미지는 테스트 요약 보고서의 예를 보여줍니다.

테스트 요약 도넛 보고서의 스크린샷.

이 문서에 제공된 쿼리를 사용하여 다음 보고서를 생성합니다.

  • 빌드 워크플로에 대한 테스트 요약
  • 릴리스 워크플로에 대한 테스트 요약
  • 특정 분기에 대한 테스트 요약
  • 특정 테스트 파일에 대한 테스트 요약
  • 특정 테스트 소유자에 대한 테스트 요약

Important

Analytics Service의 OData 피드대한 Power BI 통합 및 액세스는 일반적으로 Azure DevOps Services 및 Azure DevOps Server 2020 이상 버전에서 사용할 수 있습니다. 이 문서에서 제공하는 샘플 쿼리는 Azure DevOps Server 2020 이상 버전에 대해서만 유효하며 v3.0 미리 보기 이상 버전에 따라 달라집니다. 이러한 쿼리를 사용하고 피드백을 제공하는 것이 좋습니다.

필수 조건

  • 액세스: 최소한 기본 액세스 권한이 있는 프로젝트의 멤버여야 합니다.
  • 사용 권한: 기본적으로 프로젝트 멤버는 분석을 쿼리하고 뷰를 만들 수 있는 권한이 있습니다.
  • 서비스 및 기능 사용 및 일반 데이터 추적 활동과 관련된 기타 필수 구성 요소에 대한 자세한 내용은 Analytics에 액세스하기 위한 사용 권한 및 필수 구성 요소를 참조 하세요.

참고 항목

이 문서에서는 OData 쿼리를 사용하여 샘플 보고서 개요를 읽고 Power BI에 대한 기본적인 이해를 가지고 있다고 가정합니다 .

샘플 쿼리

엔터티 집합의 TestResultsDaily 다음 쿼리를 사용하여 서로 다르지만 유사한 파이프라인 테스트 요약 보고서를 만들 수 있습니다. 엔터티 집합은 TestResultsDaily 테스트별로 그룹화된 실행의 TestResult 일일 스냅샷 집계를 제공합니다.

참고 항목

필터 또는 보고서 용도 로 사용 가능한 속성을 확인하려면 Azure Pipelines에 대한 테스트 계획 분석메타데이터 참조에 대한 메타데이터 참조를 참조하세요. 에서 사용할 수 있는 값 또는 아래 값을 Property 사용하여 쿼리를 EntityType 필터링하거나 NavigationPropertyBinding Path 속성을 반환할 수 있습니다 EntitySet. 각각 EntitySet 은 .에 EntityType해당합니다. 각 값의 데이터 형식에 대한 자세한 내용은 해당 EntityType값에 대해 제공된 메타데이터를 검토하세요.

빌드 워크플로에 대한 테스트 요약

다음 쿼리를 사용하여 빌드 워크플로에 대한 파이프라인의 테스트 요약을 볼 수 있습니다.

다음 Power BI 쿼리를 복사하여 데이터>빈 쿼리 가져오기 창에 직접 붙여넣습니다. 자세한 내용은 OData 쿼리를 사용하는 샘플 보고서 개요를 참조 하세요.

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Build' "
      &")/aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

쿼리의 실제 값으로 대체 {pipelineName} 합니다 {startdate} .

릴리스 워크플로에 대한 테스트 요약

다음 쿼리를 사용하여 릴리스 워크플로에 대한 파이프라인의 테스트 요약을 볼 수 있습니다.

참고 항목

필터 또는 보고서 용도로 사용 가능한 속성을 확인하려면 테스트 계획 분석에 대한 메타데이터 참조를 참조 하세요. 에서 사용할 수 있는 값 또는 아래 값을 Property 사용하여 쿼리를 EntityType 필터링하거나 NavigationPropertyBinding Path 속성을 반환할 수 있습니다 EntitySet. 각각 EntitySet 은 .에 EntityType해당합니다. 각 값의 데이터 형식에 대한 자세한 내용은 해당 EntityType값에 대해 제공된 메타데이터를 검토하세요.

다음 Power BI 쿼리를 복사하여 데이터>빈 쿼리 가져오기 창에 직접 붙여넣습니다. 자세한 내용은 OData 쿼리를 사용하는 샘플 보고서 개요를 참조 하세요.

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Release'"
      &")/aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

분기로 필터링된 테스트 요약

특정 분기에 대한 파이프라인의 테스트 요약을 보려면 다음 쿼리를 사용합니다. 보고서를 만들려면 이 문서의 뒷부분에 지정된 것과 함께 다음 추가 단계를 수행합니다.

  • 다음으로 확장 BranchBranch.BranchName
  • Power BI 시각화 슬라이서 선택 및 슬라이서 필드에 필드 Branch.BranchName 추가
  • 결과 요약을 확인해야 하는 슬라이서에서 분기 이름을 선택합니다.

슬라이서 사용에 대한 자세한 내용은 Power BI의 슬라이서를 참조하세요.

다음 Power BI 쿼리를 복사하여 데이터>빈 쿼리 가져오기 창에 직접 붙여넣습니다. 자세한 내용은 OData 쿼리를 사용하는 샘플 보고서 개요를 참조 하세요.

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Build'"
      &")/groupby("
      &"(Branch/BranchName),"
      &"aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

테스트 파일로 필터링된 테스트 요약

특정 테스트 파일에 대한 파이프라인의 테스트 요약을 보려면 다음 쿼리를 사용합니다. 보고서를 만들려면 이 문서의 뒷부분에 정의된 내용과 함께 다음 추가 단계를 수행합니다.

  • 다음으로 확장 TestTest.ContainerName
  • Power BI 시각화 슬라이서 선택 및 슬라이서 필드에 필드 Test.ContainerName 추가
  • 결과 요약을 확인해야 하는 슬라이서에서 컨테이너 이름을 선택합니다.

다음 Power BI 쿼리를 복사하여 데이터>빈 쿼리 가져오기 창에 직접 붙여넣습니다. 자세한 내용은 OData 쿼리를 사용하는 샘플 보고서 개요를 참조 하세요.

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Build'"
      &")/groupby("
      &"(Test/ContainerName),"
      &"aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

테스트 소유자에 의해 필터링된 테스트 요약

특정 테스트 소유자가 소유한 테스트에 대한 파이프라인의 테스트 요약을 보려면 다음 쿼리를 사용합니다. 보고서를 만들려면 이 문서의 뒷부분에 정의된 내용과 함께 다음 추가 단계를 수행합니다.

  • 다음으로 확장 TestTest.TestOwner
  • Power BI 시각화 슬라이서 선택 및 슬라이서 필드에 필드 Test.TestOwner 추가
  • 결과 요약을 확인해야 하는 슬라이서에서 테스트 소유자를 선택합니다.

다음 Power BI 쿼리를 복사하여 데이터>빈 쿼리 가져오기 창에 직접 붙여넣습니다. 자세한 내용은 OData 쿼리를 사용하는 샘플 보고서 개요를 참조 하세요.

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Build'"
      &")/groupby("
      &"(Test/TestOwner),"
      &"aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

대체 문자열 및 쿼리 분석

다음 문자열을 값으로 바꿉니다. 대괄호를 대체에 {} 포함하지 마세요. 예를 들어 조직 이름이 "Fabrikam"{organization}Fabrikam{Fabrikam}인 경우 .

 

  • {organization} - 조직 이름입니다.
  • {project} - 팀 프로젝트 이름입니다.
  • {pipelinename} - 파이프라인 이름입니다. 예: Fabrikam hourly build pipeline
  • {startdate} - 보고서를 시작할 날짜입니다. 날짜를 YYYYMMDD 형식으로 입력할 수 있습니다. 예를 들어 20220815 2022년 8월 15일입니다.

쿼리 분석

다음 표에서는 쿼리의 각 부분을 설명합니다.

쿼리 파트

설명

$apply=filter(

Start filter() 절입니다.

Pipeline/PipelineName eq '{pipelineName}'

지정된 파이프라인에 대한 테스트 실행을 반환합니다.

and CompletedOn/Date ge {startdate}

반환 테스트는 지정된 날짜 또는 그 이후에 실행됩니다.

and Workflow eq 'Build' 또는 and Workflow eq 'Release'

반환 테스트는 또는 Release 워크플로로 지정된 파이프라인에 Build 대해서만 실행됩니다.

)

Close filter() 절입니다.

aggregate(

aggregate 필터 조건과 일치하는 모든 테스트 실행에 대한 절을 시작합니다.

ResultCount with sum as ResultCount,

총 테스트 실행 수를 .로 ResultCount계산합니다.

ResultPassCount with sum as ResultPassCount,

통과된 총 테스트 실행 수를 .로 ResultPassCount계산합니다.

ResultFailCount with sum as ResultFailCount

실패한 총 테스트 실행 수를 .로 ResultFailCount계산합니다.

ResultNotExecutedCount with sum as ResultNotExecutedCount,

실행되지 않은 테스트 실행의 총 수를 .로 ResultNotExecutedCount계산합니다.

ResultNotImpactedCount with sum as ResultNotImpactedCount

영향을 받지 않는 테스트 실행의 총 수를 .로 ResultNotImpactedCount계산합니다.

)

절을 닫습니다 aggregate() .

(선택 사항) 쿼리 이름 바꾸기

기본 쿼리 레이블인 Query1의 이름을 좀 더 의미 있는 것으로 바꿀 수 있습니다. 쿼리 설정 창에서 새 이름을 입력하기만 하면 됩니다.

Power BI 쿼리 메뉴 옵션, 쿼리 이름 바꾸기 스크린샷

(선택 사항) 열 필드 이름 바꾸기

열 필드의 이름을 바꿀 수 있습니다. 예를 들어 열 Pipeline.PipelineName Pipeline Name이름을 로 바꾸거나 TotalCount Total Count열로 바꿀 수 있습니다. 방법을 알아보려면 열 필드 이름을 바꿉니다.

쿼리를 닫고 변경 내용 적용

모든 데이터 변환을 완료한 후 홈 메뉴에서 닫기 및 적용 을 선택하여 쿼리를 저장하고 Power BI의 보고서 탭으로 돌아갑니다.

Power Query 편집기 닫기 및 적용 옵션의 스크린샷

도넛형 차트 보고서 만들기

  1. Power BI의 시각화에서 도넛형 보고서를 선택합니다.

    테스트 요약 보고서에 대한 시각화 필드 선택 스크린샷

  2. 다음 필드를 지정된 순서대로 값에 추가합니다. 각 필드를 마우스 오른쪽 단추로 클릭하고 합계가 선택되어 있는지 확인합니다.

    • ResultPassCount
    • ResultFailCount
    • ResultNotExecutedCount
    • ResultNotImpactedCount

보고서는 다음 이미지와 비슷해야 합니다.

샘플 테스트 요약 도넛 보고서의 스크린샷.