Exempelrapport för testsammanfattning
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
När du kör en pipelinekörning och inkluderar testuppgifter i pipelinedefinitionen kan du skapa en rapport som anger antalet testkörningar för olika testresultat: Godkänd, Misslyckad, Inte körd, Inte påverkad.
Följande bild visar ett exempel på en testsammanfattningsrapport.
Använd frågorna i den här artikeln för att generera följande rapporter:
- Testsammanfattning för byggarbetsflöde
- Testsammanfattning för versionsarbetsflöde
- Testsammanfattning för en viss gren
- Testsammanfattning för en viss testfil
- Testsammanfattning för en viss testägare
Viktigt!
Power BI-integrering och åtkomst till OData-flödet i Analytics Service är allmänt tillgängliga för Azure DevOps Services och Azure DevOps Server 2020 och senare versioner. Exempelfrågorna i den här artikeln är endast giltiga mot Azure DevOps Server 2020 och senare versioner och är beroende av v3.0-förhandsversion eller senare version. Vi rekommenderar att du använder dessa frågor och ger oss feedback.
Förutsättningar
- Åtkomst: Vara medlem i ett projekt med minst grundläggande åtkomst.
- Behörigheter: Som standard har projektmedlemmar behörighet att fråga Analytics och skapa vyer.
- Mer information om andra förutsättningar för tjänst- och funktionsaktivering och allmänna dataspårningsaktiviteter finns i Behörigheter och krav för åtkomst till analys.
Kommentar
Den här artikeln förutsätter att du läser Översikt över exempelrapporter med OData-frågor och har en grundläggande förståelse för Power BI.
Exempelfrågor
Du kan använda följande frågor i entitetsuppsättningen TestResultsDaily
för att skapa olika men liknande sammanfattningsrapporter för pipelinetest. Entitetsuppsättningen TestResultsDaily
ger en daglig ögonblicksbild av TestResult
körningar grupperade efter test.
Kommentar
Information om hur du fastställer tillgängliga egenskaper för filter- eller rapportändamål finns i Metadatareferens för Analys av testplaner och metadatareferens för Azure Pipelines. Du kan filtrera dina frågor eller returnera egenskaper med något av värdena Property
under ett EntityType
eller NavigationPropertyBinding Path
flera värden som är tillgängliga med en EntitySet
. Var och EntitySet
en motsvarar en EntityType
. Mer information om datatypen för varje värde finns i metadata för motsvarande EntityType
.
Testsammanfattning för build-arbetsflöde
Använd följande frågor för att visa testsammanfattningen för en pipeline för ett build-arbetsflöde .
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
Ersätt {pipelineName}
och {startdate}
med de faktiska värdena för din fråga.
Testsammanfattning för versionsarbetsflöde
Använd följande frågor för att visa testsammanfattningen av en pipeline för ett versionsarbetsflöde .
Kommentar
Information om hur du fastställer tillgängliga egenskaper för filter- eller rapportändamål finns i Metadatareferens för Analys av testplaner. Du kan filtrera dina frågor eller returnera egenskaper med något av värdena Property
under ett EntityType
eller NavigationPropertyBinding Path
flera värden som är tillgängliga med en EntitySet
. Var och EntitySet
en motsvarar en EntityType
. Mer information om datatypen för varje värde finns i metadata för motsvarande EntityType
.
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
Testsammanfattning filtrerad efter gren
Om du vill visa testsammanfattningen för en pipeline för en viss gren använder du följande frågor. Skapa rapporten genom att utföra följande extra steg tillsammans med det som anges senare i den här artikeln.
- Expandera
Branch
tillBranch.BranchName
- Välj Power BI Visualization Utsnitt och lägg till fältet
Branch.BranchName
i utsnittets fält - Välj grennamnet från utsnittet som du behöver se resultatsammanfattningen för.
Mer information om hur du använder utsnitt finns i Utsnitt i Power BI.
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
Testsammanfattning filtrerad efter testfil
Om du vill visa testsammanfattningen för en pipeline för en viss testfil använder du följande frågor. Skapa rapporten genom att utföra följande extra steg tillsammans med vad som definieras senare i den här artikeln.
- Expandera
Test
tillTest.ContainerName
- Välj Power BI Visualization Utsnitt och lägg till fältet
Test.ContainerName
i utsnittets fält - Välj containernamnet från utsnittet som du behöver se resultatsammanfattningen för.
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
Testsammanfattning filtrerad efter testägare
Om du vill visa testsammanfattningen för en pipeline för tester som ägs av en viss testägare använder du följande frågor. Skapa rapporten genom att utföra följande extra steg tillsammans med vad som definieras senare i den här artikeln.
- Expandera
Test
tillTest.TestOwner
- Välj Power BI Visualization Utsnitt och lägg till fältet
Test.TestOwner
i utsnittets fält - Välj testägaren från utsnittet som du behöver se resultatsammanfattningen för.
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
Ersättningssträngar och frågeuppdelning
Ersätt följande strängar med dina värden. Ta inte med hakparenteser {} med din ersättning. Om ditt organisationsnamn till exempel är "Fabrikam" ersätter du {organization}
med Fabrikam
, inte {Fabrikam}
.
{organization}
- Organisationens namn.{project}
- Namnet på ditt teamprojekt.{pipelinename}
- Ditt pipelinenamn. Exempel:Fabrikam hourly build pipeline
.{startdate}
- Datumet då rapporten skulle startas. Du kan ange datumen i YYYYMMDD-format. Till exempel20220815
för den 15 augusti 2022.
Frågeuppdelning
I följande tabell beskrivs varje del av frågan.
Frågedel
Beskrivning
$apply=filter(
Start-sats filter()
.
Pipeline/PipelineName eq '{pipelineName}'
Returnera testkörningar för den angivna pipelinen.
and CompletedOn/Date ge {startdate}
Returtestet körs på eller efter det angivna datumet.
and Workflow eq 'Build'
eller and Workflow eq 'Release'
Returnera testkörningar endast för pipelines som har angetts med Build
arbetsflödet eller Release
.
)
Stäng-satsen filter()
.
aggregate(
aggregate
Starta satsen för alla testkörningar som matchar filtervillkoren.
ResultCount with sum as ResultCount,
Räkna det totala antalet testkörningar som ResultCount
.
ResultPassCount with sum as ResultPassCount,
Räkna det totala antalet godkända testkörningar som ResultPassCount
.
ResultFailCount with sum as ResultFailCount
Räkna det totala antalet misslyckade testkörningar som ResultFailCount
.
ResultNotExecutedCount with sum as ResultNotExecutedCount,
Räkna det totala antalet testkörningar som inte körs som ResultNotExecutedCount
.
ResultNotImpactedCount with sum as ResultNotImpactedCount
Räkna det totala antalet testkörningar som inte påverkas som ResultNotImpactedCount
.
)
aggregate()
Stäng satsen.
(Valfritt) Byt namn på fråga
Du kan byta namn på standardfrågans etikett, Query1, till något mer meningsfullt. Ange bara ett nytt namn i fönstret Frågeinställningar .
(Valfritt) Byt namn på kolumnfält
Du kan byta namn på kolumnfält. Du kan till exempel byta namn på kolumnen Pipeline.PipelineName
till Pipeline Name
eller TotalCount
till Total Count
. Mer information finns i Byt namn på kolumnfält.
Stäng frågan och tillämpa ändringarna
När du har slutfört alla dina datatransformeringar väljer du Stäng och använd på startmenyn för att spara frågan och återgå till fliken Rapport i Power BI.
Skapa rapporten för ringdiagram
I Power BI går du till Visualiseringar och väljer Donut-rapporten .
Lägg till följande fält i Värden i den angivna ordningen. Högerklicka på varje fält och se till att Summa är markerat.
ResultPassCount
ResultFailCount
ResultNotExecutedCount
ResultNotImpactedCount
Rapporten bör se ut ungefär som i följande bild.