Report di esempio di tendenza di riepilogo dei test
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
È possibile eseguire query sulle pipeline che includono attività di test per creare un report di tendenza di riepilogo dei test. Il report seguente, ad esempio, visualizza il numero di esecuzioni di test non superate in ogni colonna in un periodo di 24 giorni, insieme al grafico a linee che mostra la tendenza della frequenza di superamento dei test. Per informazioni sull'aggiunta di test a una pipeline, vedere la sezione Test task resources più avanti in questo articolo.
In particolare, questo articolo fornisce query di esempio per la generazione dei report seguenti:
- Tendenza di riepilogo dei test per il flusso di lavoro di compilazione
- Tendenza di riepilogo dei test per il flusso di lavoro di rilascio
- Tendenza di riepilogo dei test per un ramo specifico
- Tendenza di riepilogo dei test per un file di test specifico
- Tendenza di riepilogo dei test per un determinato proprietario del test.
Importante
L'integrazione di Power BI e l'accesso al feed OData del servizio di analisi sono disponibili a livello generale per Azure DevOps Services e Azure DevOps Server 2020 e versioni successive. Le query di esempio fornite in questo articolo sono valide solo per Azure DevOps Server 2020 e versioni successive e dipendono dalla versione v3.0-preview o successiva. È consigliabile usare queste query e fornire commenti e suggerimenti.
Prerequisiti
- Accesso: essere un membro di un progetto con almeno l'accesso Basic .
- Autorizzazioni: per impostazione predefinita, i membri del progetto dispongono dell'autorizzazione per eseguire query su Analisi e creare viste.
- Per altre informazioni sugli altri prerequisiti relativi all'abilitazione di servizi e funzionalità e alle attività generali di rilevamento dei dati, vedere Autorizzazioni e prerequisiti per l'accesso ad Analytics.
Nota
Questo articolo presuppone che sia possibile leggere Panoramica dei report di esempio usando query OData e avere una conoscenza di base di Power BI.
Query di esempio
È possibile usare le query seguenti del set di TestRuns
entità per creare report di tendenza di riepilogo dei test di pipeline diversi ma simili. Il TestRuns
set di entità per le query seguenti è disponibile solo quando si includono attività di test all'interno di una definizione della pipeline.
Nota
Per determinare le proprietà disponibili a scopo di filtro o report, vedere Informazioni di riferimento sui metadati per l'analisi dei piani di test e i metadati per Azure Pipelines. È possibile filtrare le query o restituire proprietà usando uno qualsiasi dei Property
valori in un EntityType
oggetto o NavigationPropertyBinding Path
i valori disponibili con un oggetto EntitySet
. Ognuno EntitySet
corrisponde a un oggetto EntityType
. Per altre informazioni sul tipo di dati di ogni valore, esaminare i metadati forniti per l'oggetto corrispondente EntityType
.
Tendenza di riepilogo dei test per il flusso di lavoro di compilazione
Usare le query seguenti per visualizzare la tendenza di riepilogo dei test di una pipeline per un flusso di lavoro di compilazione .
Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. Per altre informazioni, vedere Panoramica dei report di esempio che usano query OData.
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
Tendenza di riepilogo dei test per il flusso di lavoro Release
Usare le query seguenti per visualizzare la tendenza di riepilogo dei test di una pipeline definita per un flusso di lavoro Release .
Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. Per altre informazioni, vedere Panoramica dei report di esempio che usano query OData.
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
Tendenza riepilogo test filtrata per ramo
Per visualizzare la tendenza di riepilogo dei test di una pipeline per un ramo specifico, usare le query seguenti. Per creare il report, eseguire i passaggi aggiuntivi seguenti insieme a quanto specificato più avanti in questo articolo.
- Espandi
Branch
inBranch.BranchName
- Selezionare Filtro dei dati visualizzazione di Power BI e aggiungere il campo al campo
Branch.BranchName
del filtro dei dati - Selezionare il nome del ramo dal filtro dei dati per il quale è necessario visualizzare il riepilogo dei risultati.
Per altre informazioni sull'uso dei filtri dei dati, vedere Filtri dei dati in Power BI.
Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. Per altre informazioni, vedere Panoramica dei report di esempio che usano query OData.
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
Tendenza riepilogo test filtrata in base al file di test
Per visualizzare la tendenza di riepilogo dei test di una pipeline per un determinato file di test, usare le query seguenti. Per creare il report, eseguire i passaggi aggiuntivi seguenti insieme a quanto definito più avanti in questo articolo.
- Espandi
Test
inTest.ContainerName
- Selezionare Filtro dei dati visualizzazione di Power BI e aggiungere il campo al campo
Test.ContainerName
del filtro dei dati - Selezionare il nome del contenitore dal filtro dei dati per il quale è necessario visualizzare il riepilogo dei risultati.
Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. Per altre informazioni, vedere Panoramica dei report di esempio che usano query OData.
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
Tendenza riepilogo test filtrata in base al proprietario del test
Per visualizzare la tendenza di riepilogo dei test di una pipeline per i test di proprietà di un proprietario di test specifico, usare le query seguenti. Per creare il report, eseguire i passaggi aggiuntivi seguenti insieme a quanto definito più avanti in questo articolo.
- Espandi
Test
inTest.TestOwner
- Selezionare Filtro dei dati visualizzazione di Power BI e aggiungere il campo al campo
Test.TestOwner
del filtro dei dati - Selezionare il proprietario del test dal filtro dei dati per il quale è necessario visualizzare il riepilogo dei risultati.
Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. Per altre informazioni, vedere Panoramica dei report di esempio che usano query OData.
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
Stringhe di sostituzione e scomposizione delle query
Sostituire le stringhe seguenti con i valori. Non includere parentesi quadre {} con la sostituzione. Ad esempio, se il nome dell'organizzazione è "Fabrikam", sostituire {organization}
con Fabrikam
, non {Fabrikam}
.
{organization}
- Nome dell'organizzazione{project}
- Nome del progetto team{pipelinename}
- Nome della pipeline. Esempio: Pipeline di compilazione oraria di Fabrikam{startdate}
Data di inizio del report. Formato: AAAA-MM-GG. Esempio: 2023-01-01Z rappresenta il 1° gennaio 2023 alle 12:50:54. Non racchiudere tra virgolette o parentesi quadre.
Suddivisione delle query
La tabella seguente descrive ogni parte della query.
Parte della query
Descrizione
$apply=filter(
Clausola Start filter()
.
Pipeline/PipelineName eq '{pipelineName}'
Restituire le esecuzioni di test per la pipeline specificata.
and CompletedOn/Date ge {startdate}
Restituisce le esecuzioni dei test in o dopo la data specificata.
and Workflow eq 'Build'
Restituire le esecuzioni di test per la pipeline con un Build
flusso di lavoro
)
Clausola Close filter()
/groupby(
Clausola Start groupby()
.
(CompletedOn/Date),
Raggruppare in base alla data di completamento dell'esecuzione del test.
aggregate(
Clausola Start aggregate
. Per tutte le esecuzioni di test corrispondenti ai criteri di filtro, sommare la serie di conteggi.
ResultCount with sum as ResultCount,
Contare il numero totale di esecuzioni di test come ResultCount
.
ResultPassCount with sum as ResultPassCount,
Contare il numero totale di esecuzioni di test superate come ResultPassCount
.
ResultNotExecutedCount with sum as ResultNotExecutedCount,
Contare il numero totale di esecuzioni di test non eseguite come ResultNotExecutedCount
.
ResultNotImpactedCount with sum as ResultNotImpactedCount
Contare il numero totale di esecuzioni di test non interessate come ResultNotImpactedCount
.
ResultFailCount with sum as ResultFailCount
Contare il numero totale di esecuzioni di test non riuscite come ResultFailCount
.
))
Chiudere aggregate()
e groupby()
clausole.
/compute(
Clausola Start compute()
.
iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate
Per tutti i giorni, calcolare PassRate
.
)
Clausola Close compute()
.
(Facoltativo) Rinominare la query
È possibile rinominare l'etichetta di query predefinita Query1 in qualcosa di più significativo. È sufficiente immettere un nuovo nome dal riquadro Impostazioni query.
Espandere la colonna CompletedOn in Power BI
Espandere la CompletedOn
colonna. Espandendo la colonna, il record viene appiattito in campi specifici. Per informazioni su come, vedere Trasformare i dati di Analisi per generare report di Power BI, Espandere le colonne.
Modificare il tipo di dati della colonna
Nella editor di Power Query selezionare la PassRate
colonna, selezionare Tipo di dati dal menu Trasforma e quindi scegliere Numero decimale.
Per altre informazioni sulla modifica del tipo di dati, vedere Trasformare i dati di Analisi per generare report di Power BI, Trasformare un tipo di dati di colonna.
Chiudere la query e applicare le modifiche
Dopo aver completato tutte le trasformazioni dei dati, scegliere Chiudi e applica dal menu Home per salvare la query e tornare alla scheda Report in Power BI.
Creare il report istogramma a linee e istogramma stack
In Power BI, in Visualizzazioni, scegliere l'istogramma a linee e stack e trascinare e rilasciare i campi nelle aree del grafico.
Aggiungere
CompletedOn.Date
all'asse X, fare clic con il pulsante destro del mouse sul campo e selezionare Date.Date anziché Date Hierarchy (Gerarchia data).Aggiungere
ResultFailCount
all'asse y della colonna.Aggiungi
PassRate
all'asse y della linea.
Il report dovrebbe essere simile all'immagine seguente.
Testare le risorse delle attività
- Eseguire test in parallelo usando l'attività Test di Visual Studio
- Eseguire test in parallelo per qualsiasi runner di test
- Velocizzare i test usando l'analisi dell'impatto dei test (TIA)
- Gestire test in flaky
- Considerazioni sul test dell'interfaccia utente
- Test di carico di Azure
- Informazioni di riferimento sulle attività di Azure Pipelines, Attività di test