Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
U kunt een rapport maken, zoals wordt weergegeven in de volgende afbeelding, waarin de flaky tests worden vermeld die plaatsvinden in pijplijnuitvoeringen die testtaken bevatten. Een flaky test is een test die verschillende resultaten biedt, zoals geslaagd of mislukt, zelfs als er geen wijzigingen in de broncode of uitvoeringsomgeving zijn. Zie Flaky-tests beheren voor meer informatie over het inschakelen van flaky tests. Zie de sectie Test taakresources verderop in dit artikel voor informatie over het toevoegen van tests aan een pijplijn.
Gebruik de query's in dit artikel om de volgende rapporten te genereren:
- Flaky tests voor de build-workflow
- Flaky tests voor releaseproces
- Flaky tests voor een bepaalde tak
- Flaky tests voor een bepaald testbestand
- Flaky tests voor een specifieke 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.
| Categorie | Vereisten |
|---|---|
| Toegangsniveaus |
-
een projectlid. - Ten minste Basis 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 overzicht van voorbeeldrapporten leest met behulp van OData-query's en basiskennis hebt van Power BI.
Voorbeeldqueries
U kunt de volgende query's van de TestResultsDaily entiteitsset gebruiken om verschillende, maar wel vergelijkbare flaky testrapporten van pijplijnen te maken. De TestResultsDaily entiteitsset biedt een dagelijkse momentopname van TestResult uitvoeringen, gegroepeerd op test.
Notitie
Raadpleeg de naslaginformatie over metagegevens voor Analyse van Testplannen en de naslaginformatie over metagegevens voor Azure Pipelines om de beschikbare eigenschappen voor filter- of rapportdoeleinden te bepalen. 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.
Flaky tests voor een Build-werkstroom
Gebruik de volgende query's om de flaky tests voor een build-werkstroompijplijn weer te geven.
Kopieer en plak de volgende Power BI-query rechtstreeks in het Gegevens ophalen>Lege Query-venster. 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, "
&"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
Flaky tests voor releasewerkstroom
Gebruik de volgende query's om de flaky tests voor een release pipeline weer te geven.
Kopieer en plak de volgende Power BI-query rechtstreeks in het Gegevens ophalen>Lege Query-venster. 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, "
&"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
Flaky tests gefilterd op Branch
Gebruik de volgende query's om de mislukte tests van een pijplijn 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
BranchnaarBranch.BranchName - Selecteer Power BI-visualisatieslicer en voeg het veld toe aan het veld
Branch.BranchNamevan de slicer - Selecteer de naam van de branch 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 Gegevens ophalen>Lege Query-venster. 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, "
&"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
Flaky tests gefilterd per testbestand
Gebruik de volgende query's om de flaky tests voor een pijplijn en een bepaald testbestand weer te geven. Voer de volgende extra stappen uit om het rapport te maken, samen met wat verderop in dit artikel wordt gedefinieerd.
- Uitbreiden
TestnaarTest.ContainerName - Selecteer Power BI-visualisatieslicer en voeg het veld toe aan het veld
Test.ContainerNamevan de slicer - Selecteer de containernaam in de slicer waarvoor u het resultaatoverzicht wilt bekijken.
Kopieer en plak de volgende Power BI-query rechtstreeks in het Gegevens ophalen>Lege Query-venster. 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, 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
Flaky tests gefilterd door testeigenaar
Gebruik de volgende query's om de Flaky-tests weer te geven voor een pijplijn en 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
TestnaarTest.TestOwner - Selecteer Power BI-visualisatieslicer en voeg het veld toe aan het veld
Test.TestOwnervan de slicer - Kies de eigenaar van de test in de slicer voor wie u het testresultaatoverzicht wilt zien.
Kopieer en plak de volgende Power BI-query rechtstreeks in het Gegevens ophalen>Lege Query-venster. 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, 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
Vervanging van tekenreeksen en uitsplitsing van query's
Vervang de volgende tekenreeksen door uw waarden. Neem geen haakjes {} op in 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. Formaat: JJJJ-MM-DDZ. Voorbeeld:2021-09-01Zvertegenwoordigt 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.
Onderdeel van de query
Beschrijving
$apply=filter(
Begin clausule filter() .
Pipeline/PipelineName eq '{pipelineName}'
Geef testuitvoeringen terug voor de opgegeven pijplijn.
and CompletedOn/Date ge {startdate}
Retourtest wordt uitgevoerd op of na de opgegeven datum.
and Workflow eq 'Build'
Retourneer testruns voor een Build werkstroom.
)
Sluit filter() clausule.
/groupby(
Begin clausule groupby() .
(TestSK, Test/TestName),
Groepeer op de testnaam.
aggregate(
Begin de aggregate clausule om de testuitvoeringen te berekenen die overeenkomen met de filtercriteria.
ResultCount with sum as TotalCount,
Tel het totale aantal testuitvoeringen als TotalCount.
ResultPassCount with sum as PassedCount,
Tel het totale aantal geslaagde testuitvoeringen als PassedCount.
ResultFailCount with sum as FailedCount,
Tel het totale aantal mislukte testuitvoeringen als FailedCount.
ResultNotExecutedCount with sum as NotExecutedCount
Tel het totale aantal niet uitgevoerde tests als NotExecutedCount.
ResultNotImpactedCount with sum as NotImpactedCount,
Tel het totale aantal niet beïnvloedde testuitvoeringen als NotImpactedCount.
ResultFlakyCount with sum as FlakyCount
Tel het totale aantal onstabiele testuitvoeringen als FlakyCount.
))
Sluit aggregate() en groupby() clausules.
/filter(FlakyCount gt 0)
Filter alleen de tests die ten minste één keer flaky waren.
/compute(
Begin clausule compute() .
(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate
Voor alle flaky tests berekent u de FlakyRate.
)
Sluit compute() clausule.
(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.
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 Analytics-gegevens transformeren om Power BI-rapporten te genereren, kolommen uitvouwen.
Kolomgegevenstype wijzigen
Selecteer in de Power Query-editor de kolommen
TotalCount,PassedCount,FailedCount,NotExecutedCount,NotImpactedCountenFlakyCount; selecteer Gegevenstype in het menu Transformeren en kies Geheel getal.Selecteer de
FlakyRatekolom; selecteer Gegevenstype in het menu Transformeren en kies vervolgens Decimaal getal.
Sluit de query en pas uw wijzigingen toe
Zodra u al uw gegevenstransformaties hebt voltooid, kiest u Sluiten en toepassen in hetmenu Start om de query op te slaan en terug te keren naar het tabblad Rapport in Power BI.
Het tabelrapport maken
Kies in Power BI onder Visualisaties de Tabel en sleep de velden naar het Kolommengebied.
Voeg de volgende velden toe aan de sectie Kolommen in de vermelde volgorde.
Test.TestNameTotalCountPassedCountFailedCountFlakyCountFlakyRate
Uw rapport moet er ongeveer uitzien als in de volgende afbeelding.
Taakbronnen testen
- Tests parallel uitvoeren met behulp van de Visual Studio Test-taak
- Voer tests parallel uit voor elke testloper
- Sneller testen met behulp van Test Impact Analysis (TIA)
- Flaky tests beheren
- Overwegingen bij het testen van de gebruikersinterface
- Azure Load Testing
- Referentie van Azure Pipelines-taken, testtaken