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 met mislukte tests, vergelijkbaar met de volgende afbeelding, voor pijplijnuitvoeringen met testtaken. Zie Testtaakbronnen 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 specifieke branch
- Mislukte tests voor een bepaald testbestand
- Gefaald tests voor een bepaalde testverantwoordelijke
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 mislukte testrapporten voor pijplijnen te maken. Deze entiteitsset biedt een dagelijkse momentopnameaggregatie 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.
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 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, "
&"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 release-pipeline 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 'Release' "
&") "
&"/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 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.
- Uitvouwen
BranchtotBranch.BranchName. - Selecteer Power BI Visualisatieslicer en voeg het veld
Branch.BranchNametoe 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, "
&"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.
- Uitvouwen
TesttotTest.ContainerName. - Selecteer Power BI visualisatieslicer en voeg het veld
Test.ContainerNametoe aan de Veld 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 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, 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 tests van een testsuite weer te geven die eigendom zijn van een bepaalde testverantwoordelijke. Voer de volgende extra stappen uit om het rapport te maken, samen met wat verderop in dit artikel wordt gedefinieerd.
- Uitvouwen
TesttotTest.TestOwner. - Selecteer Power BI Visualisatieslicer en voeg het veld
Test.TestOwnertoe 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}) "
&"/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. 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-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.
Queryonderdeel
Beschrijving
$apply=filter(
Start filter() clausule.
Pipeline/PipelineName eq '{pipelineName}'
Testuitvoeringen teruggeven voor de opgegeven pijplijn.
and Date/Date ge {startdate}
Retourtest wordt uitgevoerd op of na de opgegeven datum.
and Workflow eq 'Build'
Retourneer testruns voor Build onderzoeksworkflow.
)
Sluit filter() de clausule.
/groupby(
Start groupby() clausule.
(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 berekenen 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 testsessies 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 onbetrouwbare testruns als FlakyCount.
))
Sluiten aggregate() en groupby() clausules.
/filter(FailedCount gt 0)
Filter om alleen tests op te nemen die ten minste één fout hebben.
/compute(
Start compute() clausule.
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 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.
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
Selecteer in de Power Query Editor de kolommen
TotalCount,PassedCount,FailedCount,NotExecutedCount,NotImpactedCountenFlakyCount. Selecteer Gegevenstype in het menu Transformeren en kies Vervolgens Geheel getal.Selecteer de
PassRatekolom. 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.
Het tabelrapport maken
Selecteer in Power BI onder VisualizationsTable. Sleep de velden naar het gebied Kolommen en zet deze neer.
Voeg de volgende velden toe aan de sectie Kolommen in de vermelde volgorde.
Test.TestNameTotalCountPassedCountFailedCountNotImpactedCountNotExecutedCountFlakyCountPassRate
Uw rapport moet er ongeveer uitzien als in de volgende afbeelding.
Taakbronnen testen
- Tests parallel uitvoeren met behulp van de Visual Studio Testtaak
- 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
- Azure Pipelines taakreferentie, testtaken