Delen via


Voorbeeldrapport testduur

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

Testduurrapporten, vergelijkbaar met die in de volgende afbeelding, bieden inzicht in het aantal keren dat een test wordt uitgevoerd en de gemiddelde tijd die nodig is om een bepaalde test uit te voeren tijdens een pijplijnuitvoering.

Schermopname van het rapport Testduurtabel.

Gebruik de query's in dit artikel om de volgende rapporten te genereren:

  • Testduur voor buildwerkstroom
  • Testduur voor releasewerkstroom
  • Testduur voor een bepaalde vertakking
  • Testduur voor een bepaald testbestand
  • Testduur voor een bepaalde testeigenaar

Belangrijk

Power BI-integratie en -toegang tot de OData-feed van de Analytics-service zijn algemeen beschikbaar voor Azure DevOps Services en Azure DevOps Server 2020 en latere versies. De voorbeeldquery's in dit artikel zijn alleen geldig voor Azure DevOps Server 2020 en latere versies en zijn afhankelijk van versie v3.0 of hoger. We raden u aan deze query's te gebruiken en ons feedback te geven.

Vereisten

Notitie

In dit artikel wordt ervan uitgegaan dat u overzicht van voorbeeldrapporten leest met behulp van OData-query's en basiskennis hebt van Power BI.

Voorbeeldquery's

U kunt de volgende query's van de TestResultsDaily entiteitsset gebruiken om verschillende maar vergelijkbare testduurrapporten te maken. De TestResultsDaily entiteitsset biedt een dagelijkse samenvoeging van TestResult uitvoeringen, gegroepeerd op test.

Notitie

Als u de beschikbare eigenschappen voor filter- of rapportdoeleinden wilt bepalen, raadpleegt u de naslaginformatie over metagegevens voor analyse van testplannen en metagegevens voor Azure Pipelines. U kunt uw query's filteren of eigenschappen retourneren met behulp van een van de Property waarden onder een EntityType of NavigationPropertyBinding Path waarden die beschikbaar zijn met een EntitySet. Elk EntitySet komt overeen met een EntityType. Raadpleeg voor meer informatie over het gegevenstype van elke waarde de metagegevens die voor de bijbehorende EntityTypewaarde zijn opgegeven.

Testduur voor buildwerkstroom

Gebruik de volgende query's om het testduurrapport voor een pijplijn met een build-werkstroom weer te geven.

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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

Testduur voor releasewerkstroom

Gebruik de volgende query's om het testduurrapport voor een pijplijn met een releasewerkstroom weer te geven.

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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

Testduur gefilterd op vertakking

Gebruik de volgende query's om de testduur van pijplijntests voor een bepaalde vertakking weer te geven. Voer de volgende extra stappen uit om het rapport te maken, samen met wat verderop in dit artikel wordt opgegeven.

  • Uitbreiden Branch naar Branch.BranchName
  • Selecteer Power BI-visualisatieslicer en voeg het veld toe aan het veld Branch.BranchName van de slicer
  • Selecteer de naam van de vertakking in de slicer waarvoor u het resultaatoverzicht wilt bekijken.

Zie Slicers in Power BI voor meer informatie over het gebruik van slicers.

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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

Testduur gefilterd op testbestand

Gebruik de volgende query's om de testduur van een pijplijn weer te geven voor tests die eigendom zijn van een bepaalde testeigenaar. Voer de volgende extra stappen uit om het rapport te maken, samen met wat verderop in dit artikel wordt gedefinieerd.

  • Uitbreiden Test naar Test.ContainerName
  • Selecteer Power BI-visualisatieslicer en voeg het veld toe aan het veld Test.ContainerName van de slicer
  • Selecteer het testbestand in de slicer waarvoor u het resultaatoverzicht wilt bekijken.

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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

Testduur gefilterd op testeigenaar

Gebruik de volgende query's om de testduur van een pijplijn weer te geven voor tests die eigendom zijn van een bepaalde testeigenaar. Voer de volgende extra stappen uit om het rapport te maken, samen met wat verderop in dit artikel wordt gedefinieerd.

  • Uitbreiden Test naar Test.TestOwner
  • Selecteer Power BI-visualisatieslicer en voeg het veld toe aan het veld Test.TestOwner van de slicer
  • Selecteer de testeigenaar in de slicer waarvoor u het resultaatoverzicht wilt bekijken.

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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

Uitsplitsing van tekenreeksen en query's vervangen

Vervang de volgende tekenreeksen door uw waarden. Neem geen vierkante haken {} op bij uw vervanging. Als de naam van uw organisatie bijvoorbeeld Fabrikam is, vervangt u door {organization} Fabrikam, niet {Fabrikam}.

  • {organization} - Naam van uw organisatie.
  • {project} - De naam van uw teamproject.
  • {pipelinename} - De naam van uw pijplijn. Voorbeeld: Fabrikam hourly build pipeline.
  • {startdate} - De datum waarop het rapport moet worden gestart. Indeling: JJJJ-MM-DDZ. Voorbeeld: 2021-09-01Z vertegenwoordigt 1 september 2021. Plaats geen aanhalingstekens of vierkante haken en gebruik twee cijfers voor zowel maand als datum.

Uitsplitsing van query's

In de volgende tabel wordt elk deel van de query beschreven.

Queryonderdeel

Beschrijving


$apply=filter(

Begincomponent filter() .

Pipeline/PipelineName eq '{pipelineName}'

Testuitvoeringen retourneren voor de benoemde pijplijn.

And Date/Date ge {startdate}

Retourtest wordt uitgevoerd op of na de opgegeven datum.

and Workflow eq 'Build'

Testuitvoeringen retourneren voor een Build werkstroom.

)

Sluit filter() de component.

/groupby(

Begincomponent groupby() .

(TestSK, Test/TestName),

Groepeer op de testnaam.

aggregate(

Begincomponent aggregate voor het optellen van verschillende testuitvoeringsresultaten die overeenkomen met de filtercriteria.

ResultCount with sum as TotalCount,

Het totale aantal testuitvoeringen tellen als TotalCount.

ResultDurationSeconds with sum as TotalDuration

De totale duur van alle uitvoeringen optellen als TotalDuration.

))

Sluiten aggregate() en groupby() componenten.

/compute(

Begincomponent compute() .

TotalDuration div TotalCount as AvgDuration

Voor alle tests berekent u de gemiddelde duur door de totale duur te delen met het totale aantal uitvoeringen.

)

Sluit compute() de component.

(Optioneel) Naam van query wijzigen

U kunt de naam van het standaardquerylabel Query1 wijzigen in iets zinvoller. Voer gewoon een nieuwe naam in het deelvenster Queryinstellingen in.

Schermopname van menuopties voor Power BI-query's, naam van query wijzigen.

De kolom Testen in Power BI uitvouwen

Vouw de Test kolom uit om de uitgevouwen entiteit Test.TestNameweer te geven. Als u de kolom uitbreidt, wordt de record platgemaakt in specifieke velden. Zie Transform Analytics-gegevens voor het genereren van Power BI-rapporten, Kolommen uitvouwen voor meer informatie.

Kolomgegevenstype wijzigen

  1. Selecteer in de Power Query-editor de TotalCount kolom; selecteer Gegevenstype in het menu Transformeren en kies Vervolgens Geheel getal.

  2. Selecteer de TotalDuration en AvgDuration kolommen; selecteer Gegevenstype in het menu Transformeren en kies vervolgens Decimaal getal.

Zie Transform Analytics-gegevens voor het genereren van Power BI-rapporten, Een kolomgegevenstype transformeren voor meer informatie over het wijzigen van het gegevenstype.

Sluit de query en pas uw wijzigingen toe

Zodra u al uw gegevenstransformaties hebt voltooid, kiest u Sluiten en toepassen in het menu Start om de query op te slaan en terug te keren naar het tabblad Rapport in Power BI.

Schermopname van Power Query-editor optie Sluiten en toepassen.

Het tabelrapport maken

  1. Kies in Power BI onder Visualisaties de optie **Tabel en sleep en zet de velden neer op het gebied Kolommen .

    Schermopname van selecties van visualisatievelden voor tabelrapport Testduur.

  2. Voeg de volgende velden toe aan de sectie Kolommen in de vermelde volgorde.

    • Test.TestName
    • TotalCount
    • AvgDuration
  3. Selecteer met de rechtermuisknop het AvgDuration en kies Gemiddelde in plaats van Som.

Uw rapport moet er ongeveer uitzien als in de volgende afbeelding.

Schermopname van het rapport Voorbeeld van een testduurtabel.