Condividi tramite


Creare una query basata su campi di integrazione di compilazione e test

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

I campi degli elementi di lavoro che supportano l'integrazione di compilazioni e test offrono funzionalità avanzate per migliorare il flusso di lavoro di sviluppo. Queste integrazioni consentono le azioni chiave seguenti:

  • Associare bug alle compilazioni: Collegare bug direttamente alle compilazioni specifiche in cui sono stati individuati o risolti, garantendo una verifica e una responsabilità precise.
  • Interrogare i bug per build: Recuperare e analizzare i bug associati a build particolari per identificare tendenze e aree che richiedono miglioramenti.
  • Contrassegnare i test case come manuali o automatizzati: Classificare i test case di conseguenza e archiviare le informazioni pertinenti per supportare i processi di test automatizzati.
  • Definire i passaggi di azione e convalida per i test case e i passaggi condivisi: Specificare le azioni da eseguire, i criteri di convalida e i dati necessari per eseguire i test in modo efficace.

Questo articolo fornisce indicazioni su come usare le integrazioni di compilazione e test per migliorare la qualità e l'efficienza del progetto.

Prerequisiti

  • autorizzazioni a livello di progetto:
    • Collaboratori: possono creare e modificare query.
    • Reader: può visualizzare le query, ma non può crearle o modificarle.
    • Project Administrators: avere il controllo completo su tutte le impostazioni del progetto, incluse le query.
  • autorizzazioni specifiche per gli artefatti di test:
  • Gestire i piani di test: consente la creazione, la modifica e l'eliminazione di piani di test.
  • Gestisci gruppi di test: consente la creazione, la modifica e l'eliminazione di gruppi di test.
  • Modifica elementi di lavoro in questo nodo: obbligatorio per aggiungere o modificare elementi di lavoro specifici del test, ad esempio test case e gruppi di test.

Operatori e macro supportati

La maggior parte dei campi di integrazione di compilazione e test ha un tipo di dati String, PlainText o HTML. Le clausole di query che specificano un campo di testo o RTF possono usare gli operatori e le macro elencate nella tabella seguente.

Tipo di dati

Operatori supportati e macro


Testo Ricco (HTML) e
Stringhe di testo a più righe (Testo normale)

Contains Words, Does Not Contain Words, Is EmptyIs Not Empty.

Testo singolo (stringa)

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Contains, Does Not Contain, InNot In, In Group, , Not In GroupWas Ever
Macro: [Any], valido con il campo Tipo di Elemento di Lavoro ; e @Project, valido con il campo Progetto Team di. Per impostazione predefinita, il sistema applica automaticamente il filtro in base al progetto corrente. Per altre informazioni, vedere Selezione tra progetti.

Filtri utili

Filtro per

Includere le seguenti clausole di query

Test case automatizzati

         Work Item Type = Test Case And Automation Status = Automated

Gruppi di test basati su query

         Work Item Type = Test Suite And Test Suite Type = Query Based

Gruppi di test basati sui requisiti

         Work Item Type = Test Suite And Test Suite Type = Requirement Based

Elenca i bug e i casi di test che li verificano

Apri una nuova query, imposta il tipo di query su Elementi di lavoro e collegamenti diretti. Filtrare i bug nel livello superiore e aggiungere il filtro per i test case nel filtro degli elementi di lavoro collegati.

Elencare i bug e i test case che li testano

Nota

Non è possibile costruire una query che mostra una visualizzazione gerarchica dei piani di test, dei gruppi di test e dei test case. Questi elementi non vengono collegati insieme usando tipi di collegamento padre-figlio. È possibile visualizzare la gerarchia tramite la pagina Test>Piani di test.

Costruisci e testa campi dati

Nella tabella seguente vengono descritti i campi definiti in uno o più tipi di elemento di lavoro di test. Per informazioni sui tipi di dati e sugli attributi dei campi, vedere Campi e attributi dell'elemento di lavoro.

Per personalizzare un campo o un menu a tendina, consultare Aggiungere o modificare un campo per supportare query, report e flussi di lavoro.

Nome del campo

Descrizione

Tipo di elemento di lavoro


Stato automazione 1

Stato di un test case. È possibile specificare i valori seguenti:

Caso di test

Trovato in 2

Numero di build del prodotto, noto anche come revisione, in cui è stato trovato un bug.
Nome di riferimento=Microsoft.VSTS.Build.FoundIn, Tipo di dati=String

Nota

È possibile usare anche il tipo di collegamento Trovato nella compilazione per collegare un elemento di lavoro a una compilazione. Questo tipo di collegamento è disponibile in Azure DevOps e funziona solo con i processi di compilazione correnti (non con compilazioni XAML).

Insetto

Compilazione integrazione 2

Numero di build del prodotto che incorpora il codice o corregge un bug.
Nome di riferimento=Microsoft.VSTS.Build.IntegrationBuild, Tipo di dati=String

Nota

È anche possibile utilizzare il tipo di collegamento integrato nella build per collegare un elemento di lavoro a una build. Questo tipo di collegamento è disponibile in Azure DevOps e funziona solo con i processi di compilazione correnti (non con compilazioni XAML).

Tutti

Problema

Indica che i passaggi condivisi sono associati a un risultato previsto. I valori consentiti sono e No. Nome di riferimento=Microsoft.VSTS.Common.Issue, Tipo di dati=String

Passaggi condivisi

Parametri

Contiene i parametri da usare durante l'esecuzione di un test manuale.
Microsoft.VSTS.TCM.Parameters, Tipo di dati=HTML

Parametri condivisi, passaggi condivisi, caso di test

Passi

Passaggi di azione e convalida necessari per eseguire il test. Microsoft.VSTS.TCM.Steps, Tipo di dati=HTML

Passaggi condivisi, caso di test

Informazioni di sistema

Informazioni sul software e sulla configurazione del sistema rilevanti per il test.
Microsoft.VSTS.TCM.SystemInfo, Data type=HTML

Bug, Risposta ai commenti e suggerimenti

Passaggi per riprodurre (o Passaggi per la riproduzione)

Passaggi necessari per riprodurre un comportamento imprevisto. Acquisire informazioni sufficienti in modo che altri membri del team possano comprendere l'impatto completo del problema e se hanno risolto il bug. Sono incluse le azioni eseguite per trovare o riprodurre il bug e il comportamento previsto. Nome di riferimento=Microsoft.VSTS.TCM.ReproSteps, Data type=HTML

Insetto

Tipo di gruppo di test 1

Categoria della suite di test. I valori consentiti sono:

  • basato su query: usare per raggruppare i test case con una particolare caratteristica, ad esempio tutti i test con Priority=1. La suite include automaticamente ogni test case che viene restituito dalla query che definisci.
  • Basato sui Requisiti: usare per raggruppare i casi di test progettati per tenere traccia dello stato dei test degli elementi del backlog. Ogni test case aggiunto a un gruppo di test basato sui requisiti viene collegato automaticamente all'elemento backlog.
  • Statico: usare per raggruppare i casi di test con qualsiasi caratteristica o suite di test.
    Per altre informazioni, vedere Creare un piano di test.
    Nome di riferimento=Microsoft.VSTS.TCM.TestSuiteType, Data type=String

Suite di test

Nota

  1. Non personalizzare la lista di selezione per questi campi. Il sistema accetta solo i valori elencati.
  2. Aggiungendo un elemento GLOBALLIST alla definizione di FIELD, è possibile fornire un menu a discesa di compilazioni tra cui gli utenti possono scegliere. Per sapere come, vedere più avanti in questo articolo Compilazioni e il popolamento automatico dell'elenco globale.

Altri campi

I campi seguenti non vengono visualizzati nei moduli degli elementi di lavoro, ma questi campi vengono rilevati per i test case o i gruppi di test. È possibile usare alcuni di questi campi per filtrare le query e creare report. Nessuno di questi campi viene aggiunto al data warehouse né indicizzato.

Nome del campo

Descrizione

Tipo di elemento di lavoro

Archiviazione di test automatizzata

Assembly contenente il test che automatizza il test case.

Nome di riferimento=Microsoft.VSTS.TCM.AutomatedTestStorage, Data type=String

Caso di test

Tipo di test automatizzato

Tipo di test che automatizza il test case.

Nome di riferimento=Microsoft.VSTS.TCM.AutomatedTestType, Data type=String

Caso di test

AutomatedTestId

ID del test che automatizza il test case.

Reference name=Microsoft.VSTS.TCM.AutomatedTestId, Data type=String

Caso di test

AutomatedTestName

Nome del test usato per automatizzare il test case.

Nome di riferimento=Microsoft.VSTS.TCM.AutomatedTestName, Data type=String

Caso di test

LocalDataSource

Origine dati locale che supporta il test.

Nome di riferimento=Microsoft.VSTS.TCM.LocalDataSource, Data type=HTML

Caso di test

Testo query

Campo utilizzato per catturare la query definita per un tipo di suite basato su query.

Nome di riferimento=Microsoft.VSTS.TCM.QueryText, Tipo di dati=PlainText

Suite di test

Test Suite Audit

Tiene traccia delle altre operazioni eseguite durante la modifica di un gruppo di test, ad esempio l'aggiunta di test a un gruppo di test o la modifica delle configurazioni. Questo campo può essere visualizzato tramite la scheda Cronologia o tramite una query separata. È disponibile una visualizzazione cronologia combinata, incluse le modifiche apportate al campo degli elementi di lavoro e le modifiche risultanti da elementi correlati, ad esempio punti di test e configurazioni.

Nome di riferimento=Microsoft.VSTS.TCM.TestSuiteAudit, Data type=PlainText

Suite di test

ID del tipo di suite di test 1

Valore assegnato dal sistema che corrisponde alla categoria del gruppo di test e applicabile solo ai gruppi di test. I valori assegnati sono:

  • 1 (statico)

  • 2 (basata su query)

  • 3 (basato sui requisiti)

Reference name=Microsoft.VSTS.TCM.TestSuiteTypeId, Data type=Integer

Suite di test

Nota

  1. Non personalizzare la lista di selezione per questi campi. Il sistema accetta solo i valori elencati.

Campi che si integrano con Team Foundation Build

Team Foundation Build è il sistema di compilazione locale che è possibile usare con Azure DevOps Server. È possibile configurare il processo di compilazione usando Team Foundation Build e Team Foundation Build può generare elementi di lavoro in caso di errore di compilazione. Può anche aggiungere informazioni di compilazione agli elementi di lavoro risolti in una determinata compilazione. Team Foundation Build richiede che i due campi seguenti vengano aggiunti alla definizione del tipo di elemento di lavoro: Trovato in e Compilazione di Integrazione.

"trovati in e integrati nella build sono definiti come campi per i bug nei processi predefiniti." Questi campi associano bug alle compilazioni in cui sono stati trovati o corretti.

È possibile usare il frammento di codice seguente per aggiungere questi campi a una definizione di WIT.

<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
    <HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
        <SUGGESTEDVALUES>
          <LISTITEM value="&lt;None&gt;" />
        </SUGGESTEDVALUES>
</FIELD>
<FIELD name="Integration Build" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
    <HELPTEXT>Product build number this bug was fixed in</HELPTEXT>
        <SUGGESTEDVALUES>
          <LISTITEM value="&lt;None&gt;" />
        </SUGGESTEDVALUES>
</FIELD>

Quando il campo Trovato in è presente in una definizione WIT, Team Foundation Build crea un elemento di lavoro quando una compilazione ha esito negativo e imposta il campo Trovato in sul numero di build non riuscito. Se manca il campo Trovato in, Team Foundation Build non crea un elemento di lavoro per la compilazione non riuscita e tutto il resto funziona come previsto.

Quando il campo Integration Build è presente nella definizione WIT, Team Foundation Build identifica gli elementi di lavoro che sono stati risolti con ogni build e quindi aggiorna tali elementi di lavoro per impostare il numero di build in cui sono stati risolti nel campo Integration Build. Se manca il campo Build di integrazione, Team Foundation Build non archivia il numero di build negli elementi di lavoro e tutto il resto funziona come previsto.

Compilazioni e popolamento automatico elenco globale

La prima volta che si mette in coda una build per un progetto usando Team Foundation Build, viene automaticamente aggiunto un elenco globale etichettato Build - ProjectName. Ogni volta che viene eseguita una compilazione, un LISTITEM viene aggiunto a questo elenco globale con il nome della compilazione.

Aggiungendo un elemento GLOBALLIST alla definizione di FIELD, è possibile fornire un menu a discesa delle compilazioni tra cui gli utenti possono scegliere. Per esempio:

<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
    <HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
        <SUGGESTEDVALUES>
          <LISTITEM value="&lt;None&gt;" />
        </SUGGESTEDVALUES>
        <SUGGESTEDVALUES expanditems="true" filteritems="excludegroups">
          <GLOBALLIST name="Builds - TeamProjectName" />
        </SUGGESTEDVALUES>
</FIELD>

Campi che si integrano con i piani di test

Con i piani di test è possibile automatizzare la creazione di un bug o di un altro tipo di elemento di lavoro quando un test ha esito negativo. Per altre informazioni, vedere Aggiungere scoperte a bug esistenti con test esplorativi.

Quando si crea un elemento di lavoro in questo modo, le informazioni sul sistema e i passaggi per riprodurre il bug vengono acquisiti nei campi informazioni di sistema e passaggi di riproduzione.

È possibile aggiungere questi campi ai tipi di elemento di lavoro creati per rilevare i difetti usando il frammento di codice seguente.

<FIELD name="System Info" refname="Microsoft.VSTS.TCM.SystemInfo" type="HTML" />
<FIELD name="Repro Steps" refname="Microsoft.VSTS.TCM.ReproSteps" type="HTML" />

Campi che si integrano con Il controllo della versione di Team Foundation

Associare e risolvere gli elementi di lavoro con TFVC

Il controllo della versione di Team Foundation offre una funzionalità che consente di associare o risolvere gli elementi di lavoro direttamente durante il processo di archiviazione del codice. Quando si lavora su un elemento di lavoro specifico e si apportano modifiche al codice corrispondenti, è possibile collegare l'elemento di lavoro dall'interno della finestra di archiviazione del controllo del codice sorgente al completamento delle modifiche.

come TFVC risolve gli elementi di lavoro

La capacità di TFVC di risolvere un elemento di lavoro dipende dalla presenza di un'azione specifica all'interno dell'elemento di lavoro. Ecco come funziona il processo:

  1. Verifica azione: Il sistema di controllo del codice sorgente esegue una query sul sistema di rilevamento degli elementi di lavoro per determinare se l'elemento di lavoro supporta l'azione richiesta.
  2. transizione di stato: Se l'azione è supportata, TFVC recupera gli stati di origine e destinazione associati alla transizione.
  3. aggiornamento dell'elemento di lavoro: al momento dell'archiviazione del codice, tfvc esegue la transizione dello stato dell'elemento di lavoro in base alla transizione predefinita.

Questa integrazione garantisce che gli elementi di lavoro riflettano accuratamente lo stato delle modifiche al codice associate, migliorando la tracciabilità e la responsabilità all'interno del flusso di lavoro di sviluppo.

Nota

Quando si usa l'azione di checkin, è necessario impostare le appropriate da e per stati per riflettere la transizione di stato desiderata.

Per altre informazioni, vedere Automatizzare le assegnazioni dei campi in base allo stato, alla transizione o al motivo.

Limitazioni

Quando si eseguono query in base al test case, esistono le limitazioni seguenti:

  • Viste gerarchiche: Non è possibile creare una query che mostri una visualizzazione gerarchica di piani di test, gruppi di test e casi di test. Questi elementi non vengono collegati insieme usando tipi di collegamento padre-figlio.
  • suite di test basate su query: Sebbene sia possibile creare suite di test basate su query, la suite include automaticamente ogni test case restituito da query che definisci, il che può a volte portare all'inclusione di test case non previsti se la query non è precisa.
  • Limitazioni dei campi: alcuni campi correlati ai test case, ad esempio i risultati dettagliati dell'esecuzione, potrebbero richiedere l'utilizzo creativo dei campi esistenti o la personalizzazione dei dati del payload per essere completamente utilizzati.
  • limiti di prestazioni e velocità: Azure DevOps impone limiti alle risorse che gli utenti possono usare e il numero di richieste che possono effettuare. Le query non ottimizzate o le chiamate API eccessive possono causare ritardi o richieste bloccate.
  • Collegamento dei casi di test: I casi di test non vengono collegati automaticamente ad altri elementi di lavoro in modo da supportare query complesse. Ad esempio, non è possibile eseguire facilmente query per una visualizzazione gerarchica dei test case collegati a requisiti specifici o storie utente.