Voorbeeldrapport mislukte tests
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
U kunt een rapport maken met mislukte tests, vergelijkbaar met de volgende afbeelding, voor pijplijnuitvoeringen met testtaken. Zie de sectie Taakresources testen verderop in dit artikel voor meer informatie over het toevoegen van tests aan een pijplijn.
Gebruik de query's in dit artikel om de volgende rapporten te genereren:
- Mislukte tests voor buildwerkstroom
- Mislukte tests voor releasewerkstroom
- Mislukte tests voor een bepaalde vertakking
- Mislukte tests voor een bepaald testbestand
- Mislukte tests 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
- Toegang: Wees lid van een project met ten minste basistoegang .
- Machtigingen: 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.
Voorbeeldquery's
U kunt de volgende query's van de TestResultsDaily
entiteitsset gebruiken om verschillende, maar vergelijkbare pijplijn mislukte testrapporten te maken. De TestResultsDaily
entiteitsset biedt een dagelijkse momentopnameaggregatie 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 EntityType
waarde zijn opgegeven.
Mislukte tests voor een buildwerkstroom
Gebruik de volgende query's om de mislukte tests voor een build-werkstroompijplijn 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, "
&"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
Mislukte tests voor releasewerkstroom
Gebruik de volgende query's om de mislukte tests voor een releasewerkstroompijplijn 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, "
&"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
Mislukte tests gefilterd op vertakking
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
Branch
naarBranch.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, "
&"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
Mislukte tests gefilterd op testbestand
Gebruik de volgende query's om de mislukte 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
Test
naarTest.ContainerName
- Selecteer Power BI-visualisatieslicer en voeg het veld toe aan het veld
Test.ContainerName
van 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 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, 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
Mislukte tests gefilterd op testeigenaar
Gebruik de volgende query's om de mislukte test voor 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
naarTest.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}) "
&"/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
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 opgegeven pijplijn.
and CompletedOn/Date ge {startdate}
Retourtest wordt uitgevoerd op of na de opgegeven datum.
and Workflow eq 'Build'
Testuitvoeringen retourneren voor Build
werkstroompijplijn.
)
Sluit filter()
de component.
/groupby(
Begincomponent groupby()
.
(TestSK, Test/TestName),
Groeperen op de testnaam
aggregate(
Begincomponent aggregate
voor het optellen van de testuitvoeringen die overeenkomen met de filtercriteria.
ResultCount with sum as TotalCount,
Het totale aantal testuitvoeringen tellen als TotalCount
.
ResultPassCount with sum as PassedCount,
Het totale aantal geslaagde testuitvoeringen tellen als PassedCount
.
ResultFailCount with sum as FailedCount,
Het totale aantal mislukte testuitvoeringen tellen als FailedCount
.
ResultNotExecutedCount with sum as NotExecutedCount
Het totale aantal niet uitgevoerde testuitvoeringen tellen als NotExecutedCount
.
ResultNotImpactedCount with sum as NotImpactedCount,
Het totale aantal niet-beïnvloede testuitvoeringen tellen als NotImpactedCount
.
ResultFlakyCount with sum as FlakyCount
Tel het totale aantal flaky testuitvoeringen als FlakyCount
.
))
Sluiten aggregate()
en groupby()
componenten.
/compute(
Begincomponent compute()
.
iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate
Bereken PassRate
voor alle tests .
)
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.
De kolom Testen in Power BI uitvouwen
Vouw de Test
kolom uit om de uitgevouwen entiteit Test.TestName
weer 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
Selecteer in de Power Query-editor de
TotalCount
kolommen ,PassedCount
, ,NotImpactedCount
NotExecutedCount
FailedCount
enFlakyCount
kolommen; selecteer Gegevenstype in het menu Transformeren en kies Vervolgens Geheel getal.Selecteer de
PassRate
kolom; 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 het menu 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 optie Tabel en sleep en zet de velden neer op het gebied Kolommen .
Voeg de volgende velden toe aan de sectie Kolommen in de vermelde volgorde.
Test.TestName
TotalCount
PassedCount
FailedCount
NotImpactedCount
NotExecutedCount
FlakyCount
PassRate
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
- Naslaginformatie over Azure Pipelines-taken, testtaken