Exempelrapport för misslyckade tester

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

Du kan skapa en rapport som visar misslyckade tester, liknande följande bild, för pipelinekörningar som innehåller testuppgifter. Information om hur du lägger till tester i en pipeline finns i Testa aktivitetsresurser senare i den här artikeln.

Skärmbild av rapporten Tabell för misslyckade tester.

Använd frågorna i den här artikeln för att generera följande rapporter:

  • Misslyckade tester för byggarbetsflöde
  • Misslyckade tester för versionsarbetsflödet
  • Misslyckade tester för en viss gren
  • Misslyckade tester för en viss testfil
  • Misslyckade tester för en viss testägare

Kommentar

Exempelfrågorna i den här artikeln kräver v3.0-förhandsversion eller senare av Analytics OData-flödet. Dela din feedback.

Kategori Krav
Åtkomstnivåer - Projektmedlem.
– 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

Använd följande frågor i entitetsuppsättningen TestResultsDaily för att skapa olika men liknande rapporter för misslyckade tester av pipelinen. Den här entitetsuppsättningen ger en daglig ögonblicksbild av TestResult körningar grupperade efter test.

Kommentar

Information om hur du hittar tillgängliga egenskaper för filtrering eller rapportering finns i Metadatareferens för Test Plans Analytics och Metadatareferens för Azure Pipelines. Du kan filtrera frågor eller returnera egenskaper genom att använda valfritt Property värde som definierats under ett EntityType, eller valfritt NavigationPropertyBinding Path värde som anges för en EntitySet. Varje EntitySet motsvarar en EntityType, som dokumenterar datatypen för varje egenskap.

Misslyckade tester för ett build-arbetsflöde

Använd följande frågor för att visa de misslyckade testerna för en pipeline för byggarbetsflödet .

Kopiera och klistra in följande Power BI fråga direkt i fönstret Get Data>Blank Query. 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(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Misslyckade tester för versionsarbetsflödet

Använd följande frågor för att visa de misslyckade testerna för en versionsarbetsflödespipeline.

Kopiera och klistra in följande Power BI fråga direkt i fönstret Get Data>Blank Query. 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 'Release' "
        &") "
        &"/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(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Misslyckade tester filtrerade efter gren

Om du vill visa de misslyckade testerna i en pipeline för en specifik 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 till Branch.BranchName.
  • Välj Power BI Visualiseringssnitt och lägg till fältet Branch.BranchName i utsnittets Field.
  • Välj grennamnet från utsnittet som du behöver se resultatsammanfattningen för.

Mer information om hur du använder utsnitt finns i Slicers i Power BI.

Kopiera och klistra in följande Power BI fråga direkt i fönstret Get Data>Blank Query. 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(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Misslyckade tester filtrerade efter testfil

Om du vill visa misslyckade tester 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 till Test.ContainerName.
  • Välj Power BI Visualiserings utsnitt och lägg till fältet Test.ContainerName i utsnittets Field.
  • 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 Get Data>Blank Query. 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(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Misslyckade tester filtrerade efter testägare

Om du vill visa misslyckade tester 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 till Test.TestOwner.
  • Välj Power BI Visualiseringssnitt och lägg till fältet Test.TestOwner i utsnittets Field.
  • 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 Get Data>Blank Query. 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(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,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 klammerparenteserna {} i ersättningen. 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 pipeline-namn. Exempel: Fabrikam hourly build pipeline.
  • {startdate} - Datumet då rapporten skulle startas. Format: ÅÅÅÅ-MM-DDZ. Exempel: 2021-09-01Z representerar 1 september 2021. Omslut inte citattecken eller hakparenteser och använd inte 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(

Börja filter() klausul.

Pipeline/PipelineName eq '{pipelineName}'

Återge testkörningar för den angivna rörledningen.

and Date/Date ge {startdate}

Returtestet körs på eller efter det angivna datumet.

and Workflow eq 'Build'

Returnera testkörningar för Build arbetsflödespipeline.

)

Stäng satsen filter().

/groupby(

Börja groupby() klausul.

(TestSK, Test/TestName),

Gruppera efter testnamnet

aggregate(

Starta klausulen aggregate för att summera testkörningarna som matchar filterkriterierna.

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 ej utförda testkörningar 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 instabila testkörningar som FlakyCount.

))

Stäng aggregate() och groupby() satser.

/filter(FailedCount gt 0)

Filtrera om du bara vill inkludera tester som har minst ett fel.

/compute(

Börja compute() klausul.

iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate

För alla tester beräknar du PassRate.

)

Stäng satsen compute().

(Valfritt) Byt namn på fråga

Du kan byta namn på standardfrågans etikett, Query1, till något mer meningsfullt. Ange ett nytt namn i fönstret Frågeinställningar .

Skärmbild av Power BI frågemenyalternativ, byt namn på fråga.

Expandera kolumnen Test i Power BI

Test Expandera kolumnen för att visa den expanderade entiteten Test.TestName. När du expanderar kolumnen bryts posten ned till specifika fält. Mer information finns i Transform Analytics-data för att generera Power BI rapporter, Expandera kolumner.

Ändra kolumndatatyp

  1. I Power Query Editor väljer du kolumnerna TotalCount, PassedCount, FailedCount, NotExecutedCount, NotImpactedCount och FlakyCount. Välj Datatyp på menyn Transformera och välj sedan Heltal.

  2. PassRate Välj kolumnen. Välj Datatyp på menyn Transformera och välj sedan Decimaltal.

Mer information om hur du ändrar datatypen finns i Transform Analytics-data för att generera Power BI rapporter, Transformera en kolumndatatyp.

Stäng frågan och tillämpa ändringarna

När du är klar med alla dina datatransformeringar väljer du Stäng och tillämpa startmenyn. Den här åtgärden sparar frågan och returnerar dig till fliken Report i Power BI.

Skärmbild av Power Query Editor Stäng och Använd option.

Skapa tabellrapporten

  1. I Power BI går du till Visualizations och väljer Table. Dra och släpp fälten till området Kolumner .

    Skärmbild av val av visualiseringsfält för tabellrapporten Misslyckade tester.

  2. Lägg till följande fält i avsnittet Kolumner i den ordning som visas.

    • Test.TestName
    • TotalCount
    • PassedCount
    • FailedCount
    • NotImpactedCount
    • NotExecutedCount
    • FlakyCount
    • PassRate

Rapporten bör se ut ungefär som i följande bild.

Skärmbild av tabellrapporten Exempel på misslyckade tester.

Testuppgiftsresurser