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 2022 | Azure DevOps Server 2020
Pijplijnen met testactiviteiten kunnen worden opgevraagd om een trendrapport van testresultaten te maken. In het volgende rapport ziet u bijvoorbeeld het aantal mislukte testuitvoeringen in elke kolom gedurende een periode van 24 dagen, samen met het lijndiagram met de trend van de testpassnelheid. Zie de sectie Testtaakbronnen verderop in dit artikel voor meer informatie over het toevoegen van tests aan een pijplijn.
Dit artikel bevat met name voorbeeldquery's voor het genereren van de volgende rapporten:
- Trend van testsamenvatting voor de buildwerkstroom
- Overzichtstrend testen voor releasewerkstroom
- Samenvatting van trends testen voor een specifieke tak
- Overzichtstrend testen voor een bepaald testbestand
- Trend van samenvatting van de test 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. - 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 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 TestRuns
entiteitset gebruiken om verschillende maar vergelijkbare trendrapporten voor pijplijntests te maken. De TestRuns
entiteit die is ingesteld voor de volgende query's, is alleen beschikbaar wanneer u testtaken in een pijplijndefinitie opneemt.
Notitie
Als u de beschikbare eigenschappen voor filter- of rapportdoeleinden wilt bepalen, kunt u de naslaginformatie over metagegevens voor testplananalyse en de metagegevens voor Azure Pipelines raadplegen. 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.
Samenvattingstrend testen voor buildwerkstroom
Gebruik de volgende query's om de trend van het testoverzicht van een pijplijn in een build-werkstroom weer te geven.
Kopieer en plak de volgende Power BI-query rechtstreeks in het Gegevens ophalen>Venster Lege 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/TestRuns?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedOn/Date ge {startdate} "
&"and Workflow eq 'Build' "
&") "
&"/groupby( "
&"(CompletedOn/Date), "
&"aggregate( "
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
&"ResultFailCount with sum as ResultFailCount "
&")) "
&"/compute( "
&"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Overzichtstrend testen voor releasewerkstroom
Gebruik de volgende query’s om de trend van een testoverzicht van een pijplijn weer te geven die is gedefinieerd voor een releasewerkstroom.
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/TestRuns?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedOn/Date ge {startdate} "
&"and Workflow eq 'Release' "
&") "
&"/groupby( "
&"(CompletedOn/Date), "
&"aggregate( "
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
&"ResultFailCount with sum as ResultFailCount "
&")) "
&"/compute( "
&"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Samenvattingstesttrend gefilterd per vertakking
Gebruik de volgende query's om de testoverzichtstrend 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 filiaalnaam 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/TestRuns?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedOn/Date ge {startdate} "
&"and Workflow eq 'Build' "
&") "
&"/groupby((Branch/BranchName, CompletedOn/Date), "
&"aggregate( "
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
&"ResultFailCount with sum as ResultFailCount "
&")) "
&"/compute( "
&"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Trendanalyse van de testresultaten gefilterd per testbestand
Gebruik de volgende query's om de trend van een testoverzicht van een pijplijn voor 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 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/TestRuns?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedOn/Date ge {startdate} "
&"and Workflow eq 'Build' "
&") "
&"/groupby((Test/ContainerName, Date/Date), "
&"aggregate( "
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
&"ResultFailCount with sum as ResultFailCount "
&")) "
&"/compute( "
&"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Testresultatentrend gefilterd op testeigenaar
Gebruik de volgende query's om de trend van een testoverzicht 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
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 waarvan 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/TestRuns?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedOn/Date ge {startdate} "
&"and Workflow eq 'Build' "
&") "
&"/groupby((Test/TestOwner, Date/Date), "
&"aggregate( "
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
&"ResultFailCount with sum as ResultFailCount "
&")) "
&"/compute( "
&"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Vervangingsreeksen en uitsplitsing van queries
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-pijplijn voor elk uur bouwen -
{startdate}
De datum waarop het rapport moet worden gestart. Formaat: JJJJ-MM-DDZ. Voorbeeld: 2023-01-01Z vertegenwoordigt 1 januari 2023 om 12:50:54. Plaats geen aanhalingstekens of haakjes om iets heen.
Uitsplitsing van query's
In de volgende tabel wordt elk deel van de query beschreven.
Queryonderdeel
Beschrijving
$apply=filter(
Begin filter()
clausule.
Pipeline/PipelineName eq '{pipelineName}'
Retourneer de testuitvoeringen voor de opgegeven pijplijn.
and CompletedOn/Date ge {startdate}
Retourtest wordt uitgevoerd op of na de opgegeven datum.
and Workflow eq 'Build'
Testuitvoeringen teruggeven voor de pijplijn met een Build
werkstroom
)
Sluit filter()
clausule
/groupby(
Beginclausule groupby()
.
(CompletedOn/Date),
Groepeer op de datum waarop de testuitvoering is voltooid.
aggregate(
Begin clausule aggregate
. Voor alle testuitvoeringen die overeenkomen met de filtercriteria, moet u de reeks tellingen optellen.
ResultCount with sum as ResultCount,
Tel het totale aantal testuitvoeringen als ResultCount
.
ResultPassCount with sum as ResultPassCount,
Het totale aantal geslaagde testuitvoeringen als ResultPassCount
tellen.
ResultNotExecutedCount with sum as ResultNotExecutedCount,
Tellen het totale aantal niet uitgevoerde testruns als ResultNotExecutedCount
.
ResultNotImpactedCount with sum as ResultNotImpactedCount
Tel het totale aantal niet-beïnvloede testuitvoeringen als ResultNotImpactedCount
.
ResultFailCount with sum as ResultFailCount
Tel het totale aantal mislukte testuitvoeringen als ResultFailCount
.
))
Sluiten aggregate()
en groupby()
clausules.
/compute(
Begin clausule compute()
.
iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate
Bereken PassRate
voor alle dagen.
)
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 CompletedOn in Power BI uitvouwen
Vouw de CompletedOn
kolom uit. Door de kolom uit te breiden, wordt de record uitgesplitst naar specifieke velden. Klik op Transformeer Analytics-gegevens om Power BI-rapporten te genereren, Kolommen uitvouwen om te leren hoe.
Kolomgegevenstype wijzigen
Selecteer in het Power Query-editor 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 hetmenu Start om de query op te slaan en terug te keren naar het tabblad Rapport in Power BI.
Het rapport maken van lijn- en kolomstapeldiagrammen
Kies in Power BI onder Visualisaties het lijn- en gestapeld kolomdiagram en sleep de velden naar de grafiekgebieden.
Voeg
CompletedOn.Date
toe aan de X-as, klik met de rechtermuisknop op het veld en selecteer Date.Date in plaats van Date Hierarchy.Voeg
ResultFailCount
toe aan Y-as van de kolom.Voeg
PassRate
toe aan de y-as van de Lijn.
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