Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
I report sulla durata dei test, simili a quello illustrato nell'immagine seguente, forniscono informazioni dettagliate sul numero di esecuzioni di test e sul tempo medio necessario per l'esecuzione di un determinato test durante un'esecuzione della pipeline.
Usare le query fornite in questo articolo per generare i report seguenti:
- Durata del test per il flusso di lavoro di build
- Durata del test per il flusso di lavoro di rilascio
- Durata del test per un ramo specifico
- Durata del test per un file di test specifico
- Durata del test per un proprietario di test specifico
Nota
Le query di esempio in questo articolo richiedono la versione 3.0-preview o successiva del feed OData di Analytics. Condividi il tuo feedback.
| Categoria | Requisiti |
|---|---|
| Livelli di accesso | Membro del - progetto. - Accesso di base almeno. |
| 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 abbiate letto Panoramica dei report di esempio usando query OData e abbiate una conoscenza di base di Power BI.
Query di esempio
Usare le seguenti query del set di entità TestResultsDaily per creare report sulla durata del test simili ma diversi. L'insieme di entità TestResultsDaily fornisce un'istantanea giornaliera aggregata delle esecuzioni di TestResult, raggruppate per test.
Nota
Per trovare le proprietà disponibili per il filtro o la creazione di report, vedere le informazioni di riferimento Metadata per Analisi dei piani di test e Metadata per Azure Pipelines. È possibile filtrare le query o restituire proprietà usando qualsiasi Property valore definito in un EntityTypeoggetto o qualsiasi NavigationPropertyBinding Path valore elencato per un oggetto EntitySet. Ogni EntitySet esegue il mapping a un EntityType, che documenta il tipo di dati per ogni proprietà.
Durata del test per il flusso di lavoro di compilazione
Usare le query seguenti per visualizzare il rapporto sulla durata del test per una pipeline con un workflow di Build.
- query Power BI
- Query OData
Copiare e incollare la query di Power BI seguente direttamente nella finestra Get Data>Blank Query. 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/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, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
La durata del test per il flusso di lavoro di rilascio
Usare le query seguenti per visualizzare il report sulla durata del test per una pipeline con un flusso di lavoro Release .
- query Power BI
- Query OData
Copiare e incollare la query di Power BI seguente direttamente nella finestra Get Data>Blank Query. 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/TestResultsDaily?"
&"$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"And Date/Date ge {startdate}"
&")/groupby("
&"(TestSK, Test/TestName, Workflow),"
&"aggregate("
&"ResultCount with sum as TotalCount, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Durata del test filtrata per ramo
Per visualizzare la durata dei test della 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.
- Espandere
BranchinBranch.BranchName. - Selezionare il slicer delle visualizzazioni di Power BI e aggiungere il campo
Branch.BranchNameal slicer Field. - 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 Slicers in Power BI.
- query Power BI
- Query OData
Copiare e incollare la query di Power BI seguente direttamente nella finestra Get Data>Blank Query. 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/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, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Durata del test filtrata in base al file di test
Per visualizzare la durata dei test di una pipeline gestiti da un determinato proprietario del test, utilizzare le seguenti query. Per creare il report, eseguire i passaggi aggiuntivi seguenti insieme a quanto definito più avanti in questo articolo.
- Espandere
TestinTest.ContainerName. - Selezionare Power BI Slicer e aggiungere il campo
Test.ContainerNameal campo del filtro Field. - Selezionare il file di test dal slicer per il quale è necessario visualizzare il riepilogo dei risultati.
- query Power BI
- Query OData
Copiare e incollare la query di Power BI seguente direttamente nella finestra Get Data>Blank Query. 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/TestResultsDaily?"
&"$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"And Date/Date ge {startdate} "
&"And Workflow eq 'Build'"
&")/groupby("
&"(TestSK, Test/TestName, Test/ContainerName),"
&"aggregate("
&"ResultCount with sum as TotalCount, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Durata del test filtrata in base al proprietario del test
Per visualizzare la durata del test di una pipeline per i test di proprietà di un determinato proprietario del test, usare le query seguenti. Per creare il report, eseguire i passaggi aggiuntivi seguenti insieme a quanto definito più avanti in questo articolo.
- Espandere
TestinTest.TestOwner. - Selezionare il filtro Slicer di Power BI e aggiungere il campo
Test.TestOwneral campo Campo. - Selezionare il proprietario del test dal slicer per il quale è necessario visualizzare il riepilogo dei risultati.
- query Power BI
- Query OData
Copiare e incollare la query di Power BI seguente direttamente nella finestra Get Data>Blank Query. 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/TestResultsDaily?"
&"$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"And Date/Date ge {startdate} "
&"And Workflow eq 'Build'"
&")/groupby("
&"(TestSK, Test/TestName, Test/TestOwner),"
&"aggregate("
&"ResultCount with sum as TotalCount, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
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 le parentesi graffe {} durante la sostituzione. Ad esempio, se il nome dell'organizzazione è "Fabrikam", sostituire {organization} con Fabrikam, non {Fabrikam}.
-
{organization}- Nome dell'organizzazione. -
{project}- Nome del progetto del team. -
{pipelinename}- Nome della pipeline. Esempio:Fabrikam hourly build pipeline. -
{startdate}- Data di inizio del report. Formato: AAAA-MM-GG. Esempio:2021-09-01Zrappresenta il 1° settembre 2021. Non racchiudere tra virgolette o parentesi quadre ed utilizzare due cifre per entrambi, mese e data.
Suddivisione delle query
La tabella seguente descrive ogni parte della query.
Parte della query
Descrizione
$apply=filter(
Inizia filter() clausola.
Pipeline/PipelineName eq '{pipelineName}'
Restituire le esecuzioni di test per la pipeline denominata.
And Date/Date ge {startdate}
Restituisce le esecuzioni dei test in o dopo la data specificata.
and Workflow eq 'Build'
Restituire le esecuzioni dei test per un flusso di lavoro Build.
)
Chiudi clausola filter().
/groupby(
Inizio groupby() clausola.
(TestSK, Test/TestName),
Raggruppare in base al nome del test.
aggregate(
Clausola Start aggregate per sommare risultati di esecuzione di test diversi corrispondenti ai criteri di filtro.
ResultCount with sum as TotalCount,
Contare il numero totale di esecuzioni di test come TotalCount.
ResultDurationSeconds with sum as TotalDuration
Sommare la durata totale di tutte le esecuzioni come TotalDuration.
))
Chiudere aggregate() e groupby() clausole.
/compute(
Inizio compute() clausola.
TotalDuration div TotalCount as AvgDuration
Per tutti i test, calcolare la durata media dividendo la durata totale in base al numero totale di esecuzioni.
)
Chiudi clausola compute().
(Facoltativo) Rinominare la query
È possibile rinominare l'etichetta di query predefinita Query1 in qualcosa di più significativo. Immettere un nuovo nome nel pannello Impostazioni query.
Espandere la colonna Test in Power BI
Espandere la Test colonna per visualizzare l'entità Test.TestNameespansa . Quando si espande la colonna, il record viene appiattito in campi specifici. Per ulteriori informazioni, vedere Trasformare i dati di Analytics per generare report Power BI, Espandere colonne.
Modificare il tipo di dati della colonna
In editor di Power Query selezionare la colonna
TotalCount. Selezionare Tipo di dati dal menu Trasforma e quindi scegliere Numero intero.Selezionare le colonne
TotalDurationeAvgDuration. Selezionare Tipo di dati dal menu Trasforma e quindi scegliere Numero decimale.
Per altre informazioni sulla modifica del tipo di dati, vedere Transform Analytics per generare report Power BI, Trasformare un tipo di dati di colonna.
Chiudere la query e applicare le modifiche
Al termine di tutte le trasformazioni dei dati, selezionare Chiudi e applica dal menu Home . Questa azione salva la query e restituisce la scheda Report in Power BI.
Creare il report Tabella
In Power BI, sotto Visualizzazioni, selezionare Tabella. Trascinare e rilasciare i campi nell'area Colonne .
Aggiungere i campi seguenti alla sezione Colonne nell'ordine elencato.
Test.TestNameTotalCountAvgDuration
Selezionare con il pulsante destro del computer il
AvgDurationcampo e scegliere Media anziché Somma.
Il tuo report dovrebbe essere simile alla seguente immagine.