Gestire i test flaky

Azure DevOps Services

La produttività per gli sviluppatori si basa sulla capacità dei test di trovare problemi reali con il codice in fase di sviluppo o aggiornamento in modo tempestivo e affidabile. I test flaky presentano una barriera per trovare problemi reali, poiché spesso gli errori non si riferiscono alle modifiche da testare. Un test flaky è un test che fornisce risultati diversi, ad esempio il passaggio o l'esito negativo, anche quando non sono presenti modifiche nel codice sorgente o nell'ambiente di esecuzione. I test flaky influisce anche sulla qualità del codice fornito.

Nota

Questa funzionalità è disponibile solo in Azure DevOps Services. In genere, vengono introdotte nuove funzionalità nel servizio cloud e quindi rese disponibili in locale nella versione principale successiva o nell'aggiornamento di Azure DevOps Server. Per altre informazioni, vedere Sequenza temporale delle funzionalità di Azure DevOps.

L'obiettivo di portare la gestione dei test flaky in-product è ridurre il dolore dello sviluppatore causa da test flaky e soddisfare l'intero flusso di lavoro. La gestione dei test flaky offre i vantaggi seguenti.

  • Rilevamento automatico del test flaky con riesecuzione o estendibilità per collegare il proprio metodo di rilevamento personalizzato

  • Gestione della flakiness : dopo che un test è contrassegnato come flaky, i dati sono disponibili per tutte le pipeline per tale ramo

  • Report sui test flaky - Possibilità di scegliere se si desidera evitare errori di compilazione causati da test flaky o usare il tag flaky solo per la risoluzione dei problemi

  • Risoluzione : creazione manuale di bug o contrassegno manuale e test di non contrassegno come flaky in base all'analisi

  • Chiudere il ciclo - Reimpostare il test flaky in seguito alla risoluzione di bug/input manuale

Ciclo di vita flaky

Abilitare la gestione dei test flaky

Per configurare la gestione dei test flaky, scegliere Impostazioni progetto e selezionare Gestione test nella sezione Pipelines .

Scorrere il pulsante On/Off su Attiva.

Screenshot della gestione dei test, rilevamento dei test flaky abilitato, rilevamento del sistema.

L'impostazione predefinita per tutti i progetti consiste nell'usare test flaky per la risoluzione dei problemi.

Rilevamento test flaky

La gestione dei test flaky supporta il sistema e il rilevamento personalizzato.

  • Rilevamento del sistema: il rilevamento in-product flaky usa i dati di ripetizione dei test. Il rilevamento è tramite l'attività VSTest rirunning di funzionalità di test non riusciti o tentativi di fase nella pipeline. È possibile selezionare pipeline specifiche nel progetto per cui si desidera rilevare i test flaky.

    Nota

    Dopo aver contrassegnato un test come flaky, i dati sono disponibili per tutte le pipeline per tale ramo per facilitare la risoluzione dei problemi in ogni pipeline.

  • Rilevamento personalizzato: è possibile integrare il proprio meccanismo di rilevamento flaky con Azure Pipelines e usare la funzionalità di creazione di report. Con il rilevamento personalizzato, è necessario aggiornare i metadati dei risultati del test per i test flaky. Per informazioni dettagliate , vedere Risultati dei test, Metadati dei risultati - Aggiornare l'API REST.

Screenshot di Gestione test, rilevamento test flaky abilitato, rilevamento personalizzato.

Opzioni di test flaky

Le opzioni di test Flaky specificano il modo in cui i test flaky sono disponibili nei report di test e nelle funzionalità di risoluzione, come descritto nelle sezioni seguenti.

Gestione e creazione di report di test flaky

Nella pagina Gestione test in Opzioni di test flaky è possibile impostare le opzioni per il modo in cui i test flaky sono inclusi nel report Riepilogo test. I dati di test flaky per il test superato e non riuscito sono disponibili nei risultati del test. Il tag Flaky consente di identificare i test flaky . Per impostazione predefinita, i test flaky sono inclusi nel riepilogo test. Tuttavia, se si desidera assicurarsi che gli errori di test flaky non riescano la pipeline, è possibile scegliere di non includerli nel riepilogo dei test e eliminare l'errore di test. Questa opzione garantisce che i test flaky (sia passati che non riusciti) vengano rimossi dalla percentuale di passaggio e mostrati in Test non segnalati, come illustrato nello screenshot seguente.

Creazione di report flaky

Nota

Il report di riepilogo test viene aggiornato solo per l'attività Test di Visual Studio e pubblica i risultati dei test. Potrebbe essere necessario aggiungere uno script personalizzato per eliminare l'errore di test flaky per altri scenari.

Test contrassegnati come flaky

È possibile contrassegnare o deselezionare un test come flaky in base all'analisi o al contesto scegliendo Flaky (o UnFlaky, a seconda che il test sia già contrassegnato come flaky).

Contrassegnare il test flaky

Quando un test è contrassegnato come flaky o inflaky in una pipeline, non vengono apportate modifiche nella pipeline corrente. Solo nelle esecuzioni future di tale test viene valutata l'impostazione flaky modificata. I test contrassegnati come flaky hanno il tag Contrassegnato flaky nell'interfaccia utente.

Conferma test flaky

Guida e supporto