Voorbeeldrapport testduur

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

Testduurrapporten, vergelijkbaar met die in de volgende afbeelding, bieden inzicht in het aantal keren dat een test wordt uitgevoerd en de gemiddelde tijd die het kost 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 specifieke tak
  • Testduur voor een bepaald testbestand
  • Testduur voor een bepaalde testeigenaar

Notitie

Voor de voorbeeldqueries in dit artikel is v3.0-preview of hoger van de Analytics OData-feed vereist. Deel uw feedback.

Categorie Vereisten
Toegangsniveaus - Projectlid.
- Tenminste Basic toegang.
Toestemmingen Projectleden zijn standaard gemachtigd om query's uit te voeren op Analytics en weergaven te maken. Zie Machtigingen en vereisten voor toegang tot Analyse voor meer informatie over andere vereisten met betrekking tot het inschakelen van services en functies en algemene activiteiten voor het bijhouden van gegevens.

Notitie

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

Voorbeeldqueries

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

Notitie

Raadpleeg de naslaginformatie Metadata reference for Test Plans Analytics en Metadata reference for Azure Pipelines voor beschikbare eigenschappen om te filteren of rapporteren. U kunt query's filteren of eigenschappen retourneren met behulp van een Property waarde die is gedefinieerd onder een EntityType, of een NavigationPropertyBinding Path waarde die wordt vermeld voor een EntitySet. Elke EntitySet wordt toegewezen aan een EntityType, waarmee het gegevenstype voor elke eigenschap wordt gedocumenteerd.

Testduur voor de build-workflow

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 Get Data>Blank Query. 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 Get Data>Blank Query. 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 branch weer te geven. Voer de volgende extra stappen uit om het rapport te maken, samen met wat verderop in dit artikel wordt opgegeven.

  • Uitvouwen Branch tot Branch.BranchName.
  • Selecteer Power BI Visualisatieslicer en voeg het veld Branch.BranchName toe aan de slicer Veld.
  • Selecteer in de slicer de naam van de tak waarvoor u het resultaatoverzicht wilt bekijken.

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

Kopieer en plak de volgende Power BI query rechtstreeks in het venster Get Data>Blank Query. 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

Duur van de test 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.

  • Uitvouwen Test tot Test.ContainerName.
  • Selecteer Power BI Visualisatieslicer en voeg het veld Test.ContainerName toe aan de slicer Veld.
  • Selecteer het testbestand in de slicer waarvoor u het resultaatoverzicht wilt bekijken.

Kopieer en plak de volgende Power BI query rechtstreeks in het venster Get Data>Blank Query. 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

Duur van de test gefilterd door 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.

  • Uitvouwen Test tot Test.TestOwner.
  • Selecteer Power BI Visualisatieslicer en voeg het veld Test.TestOwner toe aan de slicer Veld.
  • Selecteer in de slicer de testeigenaar voor wie u het overzicht van de resultaten wilt bekijken.

Kopieer en plak de volgende Power BI query rechtstreeks in het venster Get Data>Blank Query. 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. Voeg de accolades {} niet toe in uw vervanging. Als de naam van uw organisatie bijvoorbeeld Fabrikam is, vervangt u deze {organization}door 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. Formaat: 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(

Start filter() clausule.

Pipeline/PipelineName eq '{pipelineName}'

Testsessies retourneren voor de gespecificeerde pijplijn.

And Date/Date ge {startdate}

Retourtest wordt uitgevoerd op of na de opgegeven datum.

and Workflow eq 'Build'

Retourneer testuitvoeringen voor een Build werkstroom.

)

Sluit filter() de clausule.

/groupby(

Start groupby() clausule.

(TestSK, Test/TestName),

Groepeer per testnaam.

aggregate(

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

ResultCount with sum as TotalCount,

Het totale aantal testuitvoeringen berekenen als TotalCount.

ResultDurationSeconds with sum as TotalDuration

De totale duur van alle uitvoeringen optellen als TotalDuration.

))

Sluiten aggregate() en groupby() clausules.

/compute(

Start compute() clausule.

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 clausule.

(Optioneel) Naam van query wijzigen

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

Schermopname van Power BI querymenuopties, naam van query wijzigen.

Vouw de kolom Test uit in Power BI

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

Kolomgegevenstype wijzigen

  1. Selecteer in Power Query Editor de kolom TotalCount. 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 om Power BI rapporten te genereren, een kolomgegevenstype transformeren voor meer informatie over het wijzigen van het gegevenstype.

Sluit de query en pas uw wijzigingen toe

Wanneer u alle gegevenstransformaties hebt voltooid, selecteert u Sluiten en toepassen in het menu Start . Met deze actie wordt de query opgeslagen en wordt u geretourneerd naar het tabblad Rapport in Power BI.

Schermopname van Power Query Editor optie Sluiten en toepassen.

Het tabelrapport maken

  1. Selecteer in Power BI onder VisualizationsTable. Sleep de velden naar het gebied Kolommen en zet deze neer.

    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 veld 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.