Rapport över opålitliga tester exempel
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Du kan skapa en rapport, som visas i följande bild, som listar de flagnande tester som inträffar i pipelinekörningar som innehåller testuppgifter. Ett flakigt test är ett test som ger olika resultat, till exempel klarar eller underkänd, även om det inte finns några ändringar i källkods- eller exekveringsmiljön. Mer information om hur du aktiverar flagnande tester finns i Hantera flagnande tester. Information om hur du lägger till tester i en pipeline finns i avsnittet Testa aktivitetsresurser senare i den här artikeln.
Använd frågorna i den här artikeln för att generera följande rapporter:
- Ostabila tester för byggflöde
- Instabila tester för versionsarbetsflödet
- Instabila tester för en viss gren
- Opålitliga tester för en viss testfil
- Opålitliga tester 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.
Kategori | Krav |
---|---|
Åtkomstnivåer |
-
Projektmedlem. – Åtminstone 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 rapporter om instabila tester i pipeline. Entitetsuppsättningen TestResultsDaily
ger en daglig sammanfattning 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 återge egenskaper med hjälp av något av följande värden Property
inom en EntityType
eller NavigationPropertyBinding Path
som är tillgängliga med en EntitySet
. Varje EntitySet
motsvarar en EntityType
. Mer information om datatypen för varje värde finns i metadata för motsvarande EntityType
.
Ostadiga tester för ett bygg-arbetsflöde
Använd följande frågor för att visa de fladdriga testerna för en byggarbetsflödespipeline.
Kopiera och klistra in följande Power BI-fråga direkt i Hämta data>tom fråga-fönstret. Mer information finns i Översikt över exempelrapporter med OData-frågor.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName} "
&"And Date/Date ge {startdate} "
&"And Workflow eq 'Build') "
&"/groupby((TestSK, Test/TestName), "
&"aggregate( "
&"ResultCount with sum as TotalCount, "
&"ResultPassCount with sum as PassedCount, "
&"ResultFailCount with sum as FailedCount, "
&"ResultNotExecutedCount with sum as NotExecutedCount, "
&"ResultNotImpactedCount with sum as NotImpactedCount, "
&"ResultFlakyCount with sum as FlakyCount)) "
&"/filter(FlakyCount gt 0) "
&"/compute( "
&"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlaykRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Instabila tester för utgivningsarbetsflöde
Använd följande frågor för att visa de ostabila testerna för en versionsarbetsflödespipeline.
Kopiera och klistra in följande Power BI-fråga direkt i 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/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"And Date/Date ge {startdate}) "
&"/groupby((TestSK, Test/TestName, Workflow), "
&"aggregate( "
&"ResultCount with sum as TotalCount, "
&"ResultPassCount with sum as PassedCount, "
&"ResultFailCount with sum as FailedCount, "
&"ResultNotExecutedCount with sum as NotExecutedCount, "
&"ResultNotImpactedCount with sum as NotImpactedCount, "
&"ResultFlakyCount with sum as FlakyCount)) "
&"/filter(FlakyCount gt 0) "
&"/compute( "
&"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Opålitliga tester filtrerade efter gren
För att visa misslyckade tester i en pipeline för en specifik branch, använd 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-visualiseringens filter och lägg till fältet
Branch.BranchName
i filtrens 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 Hämta data>Tom fråga-fönstret. Mer information finns i Översikt över exempelrapporter med OData-frågor.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"And Date/Date ge {startdate} "
&"And Workflow eq 'Build') "
&"/groupby((TestSK, Test/TestName, Branch/BranchName), "
&"aggregate( "
&"ResultCount with sum as TotalCount, "
&"ResultPassCount with sum as PassedCount, "
&"ResultFailCount with sum as FailedCount, "
&"ResultNotExecutedCount with sum as NotExecutedCount, "
&"ResultNotImpactedCount with sum as NotImpactedCount, "
&"ResultFlakyCount with sum as FlakyCount)) "
&"/filter(FlakyCount gt 0) "
&"/compute( "
&"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Ostadiga tester filtrerade genom testfil
Om du vill visa de ostabila testerna för en pipeline och 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-visualiseringens 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 Hämta data>fönstret Tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"And Date/Date ge {startdate}) "
&"/groupby((TestSK, Test/TestName, Test/ContainerName), "
&"aggregate( "
&"ResultCount with sum as TotalCount, "
&"ResultPassCount with sum as PassedCount, "
&"ResultFailCount with sum as FailedCount, "
&"ResultNotExecutedCount with sum as NotExecutedCount, "
&"ResultNotImpactedCount with sum as NotImpactedCount, "
&"ResultFlakyCount with sum as FlakyCount)) "
&"/filter(FlakyCount gt 0) "
&"/compute( "
&"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Opålitliga tester filtrerade efter testägare
Om du vill visa "flaky tests" för en pipeline och tester som ägs av en specifik 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-visualiseringens utsnitt och lägg till fältet
Test.TestOwner
till 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 Hämta data>Tom fråga-fönstret. Mer information finns i Översikt över exempelrapporter med OData-frågor.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"And Date/Date ge {startdate}) "
&"/groupby((TestSK, Test/TestName, Test/TestOwner), "
&"aggregate( "
&"ResultCount with sum as TotalCount, "
&"ResultPassCount with sum as PassedCount, "
&"ResultFailCount with sum as FailedCount, "
&"ResultNotExecutedCount with sum as NotExecutedCount, "
&"ResultNotImpactedCount with sum as NotImpactedCount, "
&"ResultFlakyCount with sum as FlakyCount)) "
&"/filter(FlakyCount gt 0) "
&"/compute( "
&"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
,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. Inkludera inte parenteser {} i din inmatning. 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 rörledningsnamn. Exempel:Fabrikam hourly build pipeline
-
{startdate}
- Datumet då rapporten skulle startas. Format: ÅÅÅÅ-MM-DDZ. Exempel:2021-09-01Z
representerar 1 september 2021. Använd inte citattecken eller hakparenteser och använd två siffror för både månad och datum.
Frågeuppdelning
I följande tabell beskrivs varje del av frågan.
Frågedel
Beskrivning
$apply=filter(
Starta filter()
avsnitt.
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'
Returnera testkörningar för ett Build
arbetsflöde.
)
Stäng filter()
satsen.
/groupby(
Starta sats groupby()
.
(TestSK, Test/TestName),
Gruppera efter testnamnet.
aggregate(
Start-sats aggregate
för att beräkna testkörningarna som matchar filtervillkoren.
ResultCount with sum as TotalCount,
Räkna det totala antalet testkörningar som TotalCount
.
ResultPassCount with sum as PassedCount,
Räkna det totala antalet godkända testkörningar som PassedCount
.
ResultFailCount with sum as FailedCount,
Räkna det totala antalet misslyckade testkörningar som FailedCount
.
ResultNotExecutedCount with sum as NotExecutedCount
Räkna det totala antalet testkörningar som inte har körts som NotExecutedCount
.
ResultNotImpactedCount with sum as NotImpactedCount,
Räkna det totala antalet testkörningar som inte påverkas som NotImpactedCount
.
ResultFlakyCount with sum as FlakyCount
Räkna det totala antalet opålitliga testkörningar som FlakyCount
.
))
Stäng aggregate()
och groupby()
satser.
/filter(FlakyCount gt 0)
Filtrera bara bort de tester som var opålitliga minst en gång.
/compute(
Påbörja compute()
sats.
(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate
För alla opålitliga tester, beräkna FlakyRate
.
)
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 .
Expandera kolumnen Test i Power BI
Test
Expandera kolumnen för att visa den expanderade entiteten Test.TestName
. Om du expanderar kolumnen plattas posten ut till specifika fält. Mer information finns i Transformera analysdata för att generera Power BI-rapporter, Expandera kolumner.
Ändra kolumndatatyp
I Power Query-redigeraren väljer du kolumnerna
TotalCount
,PassedCount
,FailedCount
,NotExecutedCount
,NotImpactedCount
ochFlakyCount
; välj Datatyp från menyn Transformera och välj sedan Heltal.FlakyRate
Välj kolumnen, välj Datatyp på menyn Transformera och välj sedan Decimaltal.
Mer information om hur du ändrar datatypen finns i Transformera analysdata för att generera Power BI-rapporter, Transformera en kolumndatatyp.
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 tabellrapporten
Under Visualiseringar i Power BI väljer du Tabell och drar och släpper fälten till området Kolumner.
Lägg till följande fält i avsnittet Kolumner i den ordning som visas.
Test.TestName
TotalCount
PassedCount
FailedCount
FlakyCount
FlakyRate
Rapporten bör se ut ungefär som i följande bild.
Testuppgiftsresurser
- Köra tester parallellt med hjälp av Visual Studio-testuppgiften
- Kör tester parallellt för alla testkörare
- Påskynda testningen med hjälp av Test Impact Analysis (TIA)
- Hantera opålitliga tester
- Överväganden för användargränssnittstestning
- Azure-belastningstestning
- Aktivitetsreferens för Azure Pipelines, Testaktiviteter