Azure DevOps 서비스 | Azure DevOps Server | Azure DevOps Server 2022
테스트 태스크를 포함하는 파이프라인의 경우 결과별 테스트 실행 수를 보여 주는 보고서를 만들 수 있습니다. 통과됨, 실패, 실행되지 않음 및 영향을 받지 않음.
다음 이미지는 테스트 요약 보고서의 예를 보여줍니다.
이 문서의 쿼리를 사용하여 다음 보고서를 생성합니다.
- 빌드 워크플로에 대한 테스트 요약
- 릴리스 워크플로에 대한 테스트 요약
- 특정 브랜치에 대한 테스트 요약
- 특정 테스트 파일에 대한 테스트 요약
- 특정 테스트 소유자에 대한 테스트 요약
참고 사항
이 문서의 샘플 쿼리에는 v3.0 미리 보기 또는 그 이상의 Analytics OData 피드가 필요합니다. 피드백을 공유합니다.
| 범주 | 요구 사항 |
|---|---|
| 접근 수준 |
-
프로젝트 구성원. - 적어도 기본 접근 권한. |
| 사용 권한 | 기본적으로 프로젝트 멤버는 분석을 쿼리하고 뷰를 만들 수 있는 권한이 있습니다. 서비스 및 기능 사용 및 일반 데이터 추적 활동과 관련된 기타 필수 구성 요소에 대한 자세한 내용은 Analytics에 액세스하기 위한 사용 권한 및 필수 구성 요소를 참조 하세요. |
참고 사항
이 문서에서는 OData 쿼리를 사용하여 샘플 보고서 보기를 읽고 Power BI 대한 기본적인 이해를 가지고 있다고 가정합니다.
샘플 쿼리
서로 다르지만 유사한 파이프라인 테스트 요약 보고서를 만들려면 엔터티 집합의 다음 쿼리를 TestResultsDaily 사용합니다. 이 엔터티 집합은 테스트별로 그룹화된 실행의 TestResult 일일 스냅샷 집계를 제공합니다.
참고 사항
필터링 또는 보고에 사용할 수 있는 속성을 찾으려면 Test Plans Analytics에 대한 메타데이터 참조 및 Azure Pipelines에 대한 메타데이터 참조를 참조하세요. 정의된 Property 값을 사용하여 EntityType 또는 NavigationPropertyBinding Path에 나열된 EntitySet 값을 이용해 쿼리를 필터링하거나 속성을 반환할 수 있습니다. 각 EntitySet은 각 속성의 데이터 형식을 문서화하는 EntityType에 매핑됩니다.
빌드 워크플로에 대한 테스트 요약
빌드 워크플로에 대한 파이프라인의 테스트 요약을 보려면 다음 쿼리를 사용합니다.
다음 Power BI 쿼리를 복사하여 Get Data>Blank Query 창에 붙여넣습니다. 자세한 내용은 OData 쿼리를 사용하는 샘플 보고서 개요를 참조 하세요.
let
Source = OData.Feed (
"https://analytics.dev.azure.com/{organization}/{project}/_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
릴리스 워크플로에 대한 테스트 요약
릴리스 워크플로에 대한 파이프라인의 테스트 요약을 보려면 다음 쿼리를 사용합니다.
참고 사항
필터링 또는 보고에 사용할 수 있는 속성을 찾으려면 테스트 계획 분석에 대한 메타데이터 참조를 참조하세요. 정의된 Property 값을 사용하여 EntityType 또는 NavigationPropertyBinding Path에 나열된 EntitySet 값을 이용해 쿼리를 필터링하거나 속성을 반환할 수 있습니다. 각 EntitySet은 각 속성의 데이터 형식을 문서화하는 EntityType에 매핑됩니다.
다음 Power BI 쿼리를 복사하여 Get Data>Blank Query 창에 붙여넣습니다. 자세한 내용은 OData 쿼리를 사용하는 샘플 보고서 개요를 참조 하세요.
let
Source = OData.Feed (
"https://analytics.dev.azure.com/{organization}/{project}/_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
분기로 필터링된 테스트 요약
특정 분기에 대한 파이프라인의 테스트 요약을 보려면 다음 쿼리를 사용합니다. 보고서를 만들려면 이 문서의 뒷부분에 지정된 것과 함께 다음 추가 단계를 수행합니다.
-
Branch를Branch.BranchName로 확장합니다. - Power BI 시각화 슬라이서를 선택하고
Branch.BranchName필드를 슬라이서의 Field에 추가합니다. - 결과 요약을 확인하려면 슬라이서에서 브랜치 이름을 선택하세요.
슬라이서 사용에 대한 자세한 내용은 Power BISlicers> 참조하세요.
다음 Power BI 쿼리를 복사하여 Get Data>Blank Query 창에 붙여넣습니다. 자세한 내용은 OData 쿼리를 사용하는 샘플 보고서 개요를 참조 하세요.
let
Source = OData.Feed (
"https://analytics.dev.azure.com/{organization}/{project}/_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
테스트 파일로 필터링된 테스트 요약
특정 테스트 파일에 대한 파이프라인의 테스트 요약을 보려면 다음 쿼리를 사용합니다. 보고서를 만들려면 이 문서의 뒷부분에 정의된 내용과 함께 다음 추가 단계를 수행합니다.
-
Test를Test.ContainerName로 확장합니다. - Power BI 시각화 슬라이서를 선택하고
Test.ContainerName필드를 슬라이서의 Field에 추가합니다. - 결과 요약을 확인해야 하는 슬라이서에서 컨테이너 이름을 선택합니다.
다음 Power BI 쿼리를 복사하여 Get Data>Blank Query 창에 붙여넣습니다. 자세한 내용은 OData 쿼리를 사용하는 샘플 보고서 개요를 참조 하세요.
let
Source = OData.Feed (
"https://analytics.dev.azure.com/{organization}/{project}/_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
테스트 소유자에 의해 필터링된 테스트 요약
특정 테스트 소유자가 소유한 테스트에 대한 파이프라인의 테스트 요약을 보려면 다음 쿼리를 사용합니다. 보고서를 만들려면 이 문서의 뒷부분에 정의된 내용과 함께 다음 추가 단계를 수행합니다.
-
Test를Test.TestOwner로 확장합니다. - Power BI 시각화 슬라이서를 선택하고
Test.TestOwner필드를 슬라이서의 Field에 추가합니다. - 결과 요약을 확인해야 하는 슬라이서에서 테스트 소유자를 선택합니다.
다음 Power BI 쿼리를 복사하여 Get Data>Blank Query 창에 붙여넣습니다. 자세한 내용은 OData 쿼리를 사용하는 샘플 보고서 개요를 참조 하세요.
let
Source = OData.Feed (
"https://analytics.dev.azure.com/{organization}/{project}/_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. 예:202208152022년 8월 15일.
쿼리 세부 분석
다음 표에서는 쿼리의 각 부분을 설명합니다.
쿼리 파트
설명
$apply=filter(
filter() 절 시작.
Pipeline/PipelineName eq '{pipelineName}'
지정된 파이프라인에 대한 테스트 실행을 반환합니다.
and DateSK ge {startdate}
반환 테스트는 지정된 날짜 또는 그 이후에 실행됩니다.
and Workflow eq 'Build' 또는 and Workflow eq 'Release'
Build 또는 Release 워크플로로 지정된 파이프라인의 테스트 실행만 반환됩니다.
)
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 Report 탭으로 돌아갑니다.
도넛형 차트 보고서 만들기
Power BI 비전화 아래에서 도넛 보고서를 선택합니다.
다음 필드를 표시된 순서대로 값에 추가합니다. 각 필드를 마우스 오른쪽 단추로 클릭하고 합계 가 선택되어 있는지 확인합니다.
ResultPassCountResultFailCountResultNotExecutedCount-
ResultNotImpactedCount보고서는 다음 이미지와 비슷해야 합니다.
관련된 문서
- Analytics에 대한 OData 쿼리 생성
- Azure Pipelines에 대한 메타데이터 참조입니다.
- 샘플 보고서 및 빠른 참조 인덱스