Condividi tramite


Report di esempio di test non superati

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

È possibile creare un report che elenca i test non superati, simile all'immagine seguente, per le esecuzioni della pipeline che includono attività di test. Per informazioni sull'aggiunta di test a una pipeline, vedere la sezione Test task resources più avanti in questo articolo.

Screenshot del report Tabella test non superati.

Usare le query fornite in questo articolo per generare i report seguenti:

  • Test non riusciti per il flusso di lavoro di compilazione
  • Test non riusciti per il flusso di lavoro di rilascio
  • Test non superati per un ramo specifico
  • Test non superati per un determinato file di test
  • Test non superati 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 TestResultsDaily set di entità per creare report di test diversi ma simili non riusciti della pipeline. Il TestResultsDaily set di entità fornisce un'aggregazione snapshot giornaliera delle TestResult esecuzioni, raggruppate per test.

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.

Test non superati per un flusso di lavoro di compilazione

Usare le query seguenti per visualizzare i test non riusciti per una pipeline del 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/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

Test non superati per il flusso di lavoro release

Usare le query seguenti per visualizzare i test non superati per una pipeline del 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/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate}) "
        &"/groupby((TestSK, Test/TestName, Workflow), "
        &"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

Test non superati filtrati in base al ramo

Per visualizzare i test non riusciti 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 in Branch.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/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

Test non superati filtrati in base al file di test

Per visualizzare i test non riusciti per una pipeline e 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 in Test.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/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

Test non superati filtrati in base al proprietario del test

Per visualizzare il test non riuscito per 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 in Test.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/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

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
  • {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 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 Build la pipeline del flusso di lavoro.

)

Clausola Close filter() .

/groupby(

Clausola Start groupby() .

(TestSK, Test/TestName),

Raggruppare in base al nome del test

aggregate(

Clausola Start aggregate per sommare le esecuzioni di test corrispondenti ai criteri di filtro.

ResultCount with sum as TotalCount,

Contare il numero totale di esecuzioni di test come TotalCount.

ResultPassCount with sum as PassedCount,

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

ResultFailCount with sum as FailedCount,

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

ResultNotExecutedCount with sum as NotExecutedCount

Contare il numero totale di esecuzioni di test non eseguite come NotExecutedCount.

ResultNotImpactedCount with sum as NotImpactedCount,

Contare il numero totale di esecuzioni di test non interessate come NotImpactedCount.

ResultFlakyCount with sum as FlakyCount

Contare il numero totale di esecuzioni di test in flaky come FlakyCount.

))

Chiudere aggregate() e groupby() clausole.

/compute(

Clausola Start compute() .

iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate

Per tutti i test, 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.

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

Espandere la colonna Test in Power BI

Espandere la Test colonna per visualizzare l'entità Test.TestNameespansa . 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

  1. Nella editor di Power Query selezionare le TotalCountcolonne , PassedCount, FailedCountNotExecutedCount, NotImpactedCount, e FlakyCount , tipo di dati dal menu Trasforma e quindi scegliere Numero intero.

  2. 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.

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

Creare il report Tabella

  1. In Power BI, in Visualizzazioni scegliere Tabella e trascinare i campi nell'area Colonne .

    Screenshot delle selezioni dei campi di visualizzazione per il report tabella Test non superati.

  2. Aggiungere i campi seguenti alla sezione Colonne nell'ordine elencato.

    • Test.TestName
    • TotalCount
    • PassedCount
    • FailedCount
    • NotImpactedCount
    • NotExecutedCount
    • FlakyCount
    • PassRate

Il report dovrebbe essere simile all'immagine seguente.

Screenshot del report tabella test non superati di esempio.

Testare le risorse delle attività