Tendenza della frequenza di superamento di un report di esempio di test

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

I report sulle tendenze di frequenza pass forniscono informazioni dettagliate sul tempo medio necessario per l'esecuzione di un determinato test durante un'esecuzione della pipeline.

Nell'immagine seguente è illustrato un esempio.

Screenshot del report Pass Rate Trend ( Pass Rate Trend).

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

  • Per visualizzare i dati di Analisi ed eseguire query sul servizio, è necessario essere membri di un progetto con accesso basic o superiore. Per impostazione predefinita, a tutti i membri del progetto vengono concesse le autorizzazioni per eseguire query su Analisi e definire le visualizzazioni di Analisi.
  • 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 di avere letto Panoramica dei report di esempio usando query OData e avere una conoscenza di base di Power BI.

Query di esempio

Nota

Questo articolo presuppone di avere letto Panoramica dei report di esempio usando query OData e avere una conoscenza di base di Power BI.

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. 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 Test/TestName eq '{testName}' "
        &"And Workflow eq 'Build') "
            &"/groupby((Date/Date), "
                &"aggregate( "
                &"ResultCount with sum as TotalCount, "
            &"ResultPassCount with sum as ResultPassCount, "
                &"ResultFailCount with sum as ResultFailCount, "
            &"ResultAbortedCount with sum as ResultAbortedCount, "
        &"ResultErrorCount with sum as ResultErrorCount, "
    &"ResultInconclusiveCount with sum as ResultInconclusiveCount, "
    &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
    &"ResultNotImpactedCount with sum as ResultNotImpactedCount)) "
    &"/filter(ResultFailCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(TotalCount 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: Fabrikam hourly build pipeline
  • {testName} - Nome del test
  • {startdate} - Data di inizio del report. Formato: AAAA-MM-GG. Esempio: 2021-09-01Z rappresenta il 1° settembre 2021. Non racchiudere tra virgolette o parentesi quadre e usare due cifre per entrambi, mese e data.

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 Date/Date ge {startdate}

Restituisce le esecuzioni dei test in o dopo la data specificata.

And Test/TestName eq '{testName}'

Restituisce le esecuzioni dei test solo per il nome del test specificato.

and Workflow eq 'Build'

Restituire le esecuzioni dei test per Build il flusso di lavoro.

)

Clausola Close filter() .

/groupby(

Clausola Start groupby() .

(Date/Date),

Raggruppare in base alla data di completamento dell'esecuzione 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.

ResultPassCount with sum as ResultPassCount,

Contare il numero totale di esecuzioni di test superate come ResultPassCount.

ResultFailCount with sum as ResultFailCount,

Contare il numero totale di esecuzioni di test non riuscite come ResultFailCount.

ResultAbortedCount with sum as ResultAbortedCount,

Contare il numero totale di esecuzioni di test interrotte come ResultAbortedCount.

ResultErrorCount with sum as ResultErrorCount,

Contare il numero totale di esecuzioni di test contrassegnate come con un errore come ResultErrorCount.

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.

))

Chiudere aggregate() e groupby() clausole.

/compute(

Clausola Start compute() .

iif(TotalCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(TotalCount 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 Query Impostazioni.

Screenshot delle opzioni del menu query di Power BI, rinominare la query.

Espandere la colonna Data in Power BI

Espandere la Date colonna per visualizzare l'entità CompletedOn.Dateespansa . L'espansione di una colonna rende flat il record 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

  1. Nella editor di Power Query selezionare la TotalCount colonna, selezionare Tipo di dati dal menu Trasforma e quindi scegliere Numero intero.

  2. Selezionare la PassRatecolonna, 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.

Screenshot dell'opzione Chiudi e applica editor di Power Query.

Creare il report istogramma a linee e istogramma stack

  1. In Power BI, in Visualizzazioni, scegliere l'istogramma a linee e stack e trascinare e rilasciare i campi nelle aree del grafico.

    Screenshot delle selezioni dei campi di visualizzazione per il report Della durata della tendenza pass rate.

  2. Aggiungere Date.Date all'asse X, fare clic con il pulsante destro del mouse sul campo e selezionare Date.Date anziché Date Hierarchy (Gerarchia data).

  3. Aggiungere ResultPassCount e ResultFailCount all'asse y della colonna.

  4. Aggiungere PassRate all'asse y della linea.

Il report dovrebbe essere simile all'immagine seguente.

Screenshot del report Sample Pass Rate Trend(Tendenza pass rate di esempio).

Testare le risorse delle attività