Dela via


Exempelrapport för testvaraktighet

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

Rapporter om testvaraktighet, ungefär som de som visas i följande bild, ger insikt i hur många gånger ett test körs och den genomsnittliga tid det tar för ett visst test att köras under en pipelinekörning.

Skärmbild av rapporten Testvaraktighetstabell.

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

  • Testvaraktighet för byggarbetsflöde
  • Testvaraktighet för versionsarbetsflöde
  • Testvaraktighet för en viss gren
  • Testvaraktighet för en viss testfil
  • Testvaraktighet 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 testvaraktighetsrapporter. 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.

Testvaraktighet för build-arbetsflöde

Använd följande frågor för att visa testvaraktighetsrapporten för en pipeline med 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/{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, "
      &"ResultDurationSeconds with sum as TotalDuration"
      &"))/compute("
      &"TotalDuration div TotalCount as AvgDuration"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

Testvaraktighet för versionsarbetsflöde

Använd följande frågor för att visa testvaraktighetsrapporten för en pipeline med ett versionsarbetsflö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/{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, "
      &"ResultDurationSeconds with sum as TotalDuration"
      &"))/compute("
      &"TotalDuration div TotalCount as AvgDuration"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

Testvaraktighet filtrerad efter gren

Om du vill visa testvaraktigheten för pipelinetester 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 till Branch.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/{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, "
      &"ResultDurationSeconds with sum as TotalDuration"
      &"))/compute("
      &"TotalDuration div TotalCount as AvgDuration"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

Testvaraktighet filtrerad efter testfil

Om du vill visa testvaraktigheten 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.ContainerName
  • Välj Power BI Visualization Utsnitt och lägg till fältet Test.ContainerName i utsnittets fält
  • Välj testfilen 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/{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, Test/ContainerName),"
      &"aggregate("
      &"ResultCount with sum as TotalCount, "
      &"ResultDurationSeconds with sum as TotalDuration"
      &"))/compute("
      &"TotalDuration div TotalCount as AvgDuration"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

Testvaraktighet filtrerad efter testägare

Om du vill visa testvaraktigheten 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 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/{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, Test/TestOwner),"
      &"aggregate("
      &"ResultCount with sum as TotalCount, "
      &"ResultDurationSeconds with sum as TotalDuration"
      &"))/compute("
      &"TotalDuration div TotalCount as AvgDuration"
      &")",
      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. 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(

Start-sats filter() .

Pipeline/PipelineName eq '{pipelineName}'

Returnera testkörningar för den namngivna pipelinen.

And Date/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-satsen filter() .

/groupby(

Start-sats groupby() .

(TestSK, Test/TestName),

Gruppera efter testnamnet.

aggregate(

Start-sats aggregate för att summera olika testkörningsresultat som matchar filtervillkoren.

ResultCount with sum as TotalCount,

Räkna det totala antalet testkörningar som TotalCount.

ResultDurationSeconds with sum as TotalDuration

Summera den totala varaktigheten för alla körningar som TotalDuration.

))

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

/compute(

Start-sats compute() .

TotalDuration div TotalCount as AvgDuration

För alla tester beräknar du den genomsnittliga varaktigheten genom att dividera den totala varaktigheten med totalt antal körningar.

)

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 bara ett nytt namn i fönstret Frågeinställningar .

Skärmbild av alternativ för Power BI-frågemenyer, byt namn på fråga.

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

  1. I Power Query-redigeraren väljer du TotalCount kolumnen. Välj Datatyptransformeringsmenyn och välj sedan Heltal.

  2. Välj kolumnerna TotalDuration och, välj Datatypmenyn Transformera och välj sedan DecimaltalAvgDuration.

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 startmenyn för att spara frågan och återgå till fliken Rapport i Power BI.

Skärmbild av alternativet stäng och tillämpa Power Query-redigeraren.

Skapa tabellrapporten

  1. Under Visualiseringar i Power BI väljer du **Tabell och drar och släpper fälten till området Kolumner.

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

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

    • Test.TestName
    • TotalCount
    • AvgDuration
  3. AvgDuration Välj och välj Medelvärde i stället för Summa.

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

Skärmbild av rapporten Exempel på testvaraktighetstabell.