Gestire test in flaky

Servizi di Azure DevOps

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 alla ricerca di problemi reali, poiché spesso gli errori non sono correlati alle modifiche da testare. Un test in flaky è un test che fornisce risultati diversi, ad esempio il superamento 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 spedito.

Nota

Questa funzionalità è disponibile solo in Azure DevOps Services. In genere, le nuove funzionalità vengono introdotte prima 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 in-product in flaky consiste nel ridurre il dolore dello sviluppatore causato da test instabilità e soddisfare l'intero flusso di lavoro. La gestione dei test flaky offre i vantaggi seguenti.

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

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

  • Report su test in flaky : possibilità di scegliere se si desidera evitare errori di compilazione causati da test instabilità o usare il tag flaky solo per la risoluzione dei problemi

  • Risoluzione : creazione manuale di bug o contrassegno manuale e test di annullamento del contrassegno come instabilità in base all'analisi

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

Ciclo di vita flaky

Abilitare la gestione dei test in flaky

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

Scorrere il pulsante On/Off su .

Screenshot di Gestione test, Rilevamento test Flaky abilitato, Rilevamento del sistema.

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

Rilevamento test inattendibili

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

  • Rilevamento del sistema: il rilevamento in-product usa i dati di riesecuzione dei test. Il rilevamento avviee tramite la ripetizione dell'attività VSTest della funzionalità di test non superati o la ripetizione di tentativi di fase nella pipeline. È possibile selezionare pipeline specifiche nel progetto per cui si desidera rilevare i test instabilità.

    Nota

    Dopo che un test è contrassegnato come non corretto, 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 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 non corretti. 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 la modalità di disponibilità dei test in report di test e le 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 la modalità di inserimento dei test in flaky nel report Riepilogo test. I dati dei test flaky per i test superati e non superati sono disponibili nei risultati dei test. Il tag Flaky consente di identificare i test flaky. Per impostazione predefinita, i test in flaky sono inclusi nel riepilogo dei test. Tuttavia, se si vuole assicurarsi che gli errori di test non vengano superati dalla pipeline, è possibile scegliere di non includerli nel riepilogo dei test e eliminare l'errore di test. Questa opzione garantisce che i test in flaky (superati e non superati) vengano rimossi dalla percentuale di superamento 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 l'attività Pubblica risultati test. Potrebbe essere necessario aggiungere uno script personalizzato per eliminare l'errore di test non riuscito per altri scenari.

Test contrassegnati come instabilità

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

Contrassegna test in flaky

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

Confermare il test in flaky

Assistenza e supporto