Configurare test automatizzati con Azure Test Plans

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

Il test automatizzato in Azure Test Plans connette il codice di test automatizzato agli elementi di lavoro del test case. È possibile eseguire test su richiesta dai piani di test, tenere traccia dei risultati insieme ai test manuali e misurare la qualità a livello di requisito. Questo articolo illustra il flusso di lavoro completo dalla scrittura di test all'analisi dei risultati.

Flusso di lavoro di test automatizzato end-to-end

La configurazione dei test automatizzati prevede i passaggi seguenti:

  1. Creare test automatizzati : scrivere test in un framework supportato e controllarli nel controllo del codice sorgente.
  2. Configurare una pipeline di compilazione : creare una pipeline che compila il progetto di test e produce file binari di test.
  3. Associare test ai test case : collegare ogni metodo di test automatizzato a un elemento di lavoro del test case per la tracciabilità.
  4. Eseguire test automatizzati : eseguire test su richiesta da Piani di test o come parte delle pipeline CI/CD.
  5. Esaminare i risultati e tenere traccia della qualità : analizzare i risultati dei pass/fail, tenere traccia della copertura dei requisiti e identificare le tendenze.

Prerequisiti

Categoria Requisito
Accesso al progetto Membro del progetto.
Livelli di accesso - Per visualizzare gli elementi di lavoro correlati ai test o eseguire test case: almeno accesso di base. Gli utenti con il livello di accesso Stakeholder non hanno accesso ai piani di test.
- Per eseguire l'intera gamma di funzionalità correlate ai test: Basic + Piani di test livello di accesso o una delle sottoscrizioni Visual Studio seguenti:
- Impresa
- Test Professional
- piattaforme MSDN
Autorizzazioni Autorizzazioni percorso dell'area:
- Per aggiungere o modificare piani di test, gruppi di test, test case o altri tipi di elementi di lavoro basati su test: Modificare gli elementi di lavoro in questo nodo impostato su Consenti.
- Per modificare le proprietà del piano di test, ad esempio le impostazioni di compilazione e test: gestire i piani di test impostati su Consenti.
- Per creare ed eliminare gruppi di test, aggiungere e rimuovere test case dai gruppi di test o modificare le configurazioni dei test associate ai gruppi di test: gestire i gruppi di test impostati su Consenti.

Permessi a livello di progetto:
- Per visualizzare, creare o eliminare esecuzioni di test: visualizzare le esecuzioni di test, Creare esecuzioni di test e Eliminare esecuzioni di test impostate su Consenti.
- Per gestire configurazioni di test o ambienti di test: gestire le configurazioni di test e Gestire gli ambienti di test impostati su Consenti.
- Per aggiungere nuovi tag agli elementi di lavoro basati su test: creare un set di definizioni di tag impostato su Consenti.
- Per eliminare definitivamente gli elementi di lavoro basati su test: eliminare definitivamente gli elementi di lavoro impostati su Consenti.

Per altre informazioni, vedere Accesso e autorizzazioni per il test manuale.

Inoltre:

Categoria Requisiti
Autorizzazioni della pipeline Per eseguire test automatizzati dai piani di test, sono necessarie autorizzazioni di rilascio (Creare versioni, Gestire le distribuzioni, Modificare la fase di rilascio). Per altre informazioni, vedere Autorizzazioni di rilascio.
Strumenti Visual Studio 2017 o versione successiva (Enterprise o Professional) per associare i test da Visual Studio. Non obbligatorio se si associano i test dal portale Web di Azure DevOps.

Passaggio 1: Creare test automatizzati

Scrivere test automatizzati usando qualsiasi framework supportato. Controllare il progetto di test in Azure Repos o in un repository di GitHub connesso.

Framework supportati

Struttura Collega in Visual Studio Associato in Azure DevOps
MSTest v1/v2 Yes Yes
NUnit Yes Yes
xUnit Yes Yes
Selenio Yes Yes
Test codificati dell'interfaccia utente Yes Yes
Python (PyTest) No Yes
Java (Maven/Gradle) No Yes

Per indicazioni sulla scrittura di test dell'interfaccia utente che vengono eseguiti in modo affidabile nelle pipeline CI/CD, vedere Considerazioni sui test dell'interfaccia utente. Per un esempio dettagliato di Selenium, vedere Eseguire test dell'interfaccia utente con Selenium.

Passaggio 2: Configurare una pipeline di compilazione

Creare una pipeline di compilazione che compila il progetto di test e produce artefatti contenenti i file binari di test. Sono supportate sia le pipeline CLASSICHE che YAML.

  1. Creare la prima pipeline se non ne è disponibile una.
  2. Assicurarsi che la pipeline compili il progetto di test e pubblica i file binari di test come artefatti di compilazione.
  3. Utilizza l'attività di test Visual Studio o l'attività di test Azure Test Plan per eseguire e segnalare i test nella pipeline.
  4. Se la pipeline esegue test, i risultati vengono visualizzati automaticamente nella scheda Test dell'esecuzione della pipeline.

Per pubblicare i risultati dei test da strumenti di esecuzione di test non Microsoft, usare l'attività Publish Test Results.

Passaggio 3: Associare test automatizzati ai test case

Quando si associa un metodo di test a un elemento di lavoro del test case, si ottengono questi vantaggi:

  • Esecuzione su richiesta da piani di test
  • Tracciabilità dei requisiti : quando i test case si collegano alle storie utente, i risultati automatizzati mostrano la qualità a livello di requisito
  • Creazione di report unificati : i risultati dei test automatizzati e manuali vengono visualizzati insieme nell'hub di esecuzione dei test

È possibile associare i test da Visual Studio o dal portale Web Azure DevOps:

  • Visual Studio : aprire Test Explorer, selezionare un metodo di test e scegliere Associate in Test Case. Supporta .NET framework (MSTest, NUnit, xUnit, Selenium, Coded UI).
  • Portale di Azure DevOps — associare dai risultati dei test della pipeline o direttamente da un elemento di lavoro del caso di test. Supporta tutti i framework, inclusi Python e Java.

Per istruzioni complete, vedere Associare test automatizzati ai test case.

Importante

È possibile associare un metodo di test a più test case, ma ogni test case può avere un solo metodo di test associato.

Passaggio 4: Eseguire test automatizzati

Esecuzione da piani di test (su richiesta)

Attivare test automatizzati direttamente da Azure Test Plans senza configurare compilazioni pianificate. Selezionare test case specifici ed eseguirli in una pipeline di build e rilascio configurata all'interno delle impostazioni del piano di test.

Per istruzioni dettagliate, vedere Eseguire test automatizzati dai piani di test.

Esegui dalle pipeline (CI/CD)

Eseguire test automatizzati come parte della pipeline di compilazione o versione. I test vengono eseguiti automaticamente in ogni commit o distribuzione e i risultati vengono visualizzati nella scheda Test della pipeline.

Passaggio 5: Esaminare i risultati dei test e tenere traccia della qualità

Risultati del test

  • In Piani di test : visualizzare i risultati di superamento e esito negativo per i test automatizzati e manuali insieme nell'hub di esecuzione dei test. Selezionare qualsiasi esecuzione di test per visualizzare risultati dettagliati, messaggi di errore e analisi dello stack.
  • In Pipeline — Visualizzare risultati dei test nella scheda Test di qualsiasi esecuzione della pipeline. Consultare Esaminare i risultati dei test.
  • Analisi dei Test: identificare i test con il maggior numero di esiti negativi, tenere traccia delle tendenze dei tassi di successo e analizzare gli schemi di errore tra le versioni. Vedere Analisi di test.
  • Code coverage — Misura quanto del codice viene eseguito dai test. Consultare i risultati della copertura del codice.
  • Gestione dei test flaky : rilevare e gestire i test con risultati non deterministici per evitare falsi errori di compilazione. Consulta Gestione di test instabili.

Requisiti relativi alla tracciabilità

Quando si collegano i test case ai requisiti (storie utente, PBI), i risultati automatizzati dei test mostrano la qualità a livello di requisito. Tenere traccia dei requisiti superati, non superati o che non hanno copertura nei test. Vedere Tracciabilità dei requisiti.