Hantera flagnande tester

Azure DevOps Services

Produktiviteten för utvecklare är beroende av testernas förmåga att hitta verkliga problem med koden under utveckling eller uppdatering på ett snabbt och tillförlitligt sätt. Flagnande tester utgör ett hinder för att hitta verkliga problem, eftersom felen ofta inte är relaterade till de ändringar som testas. Ett flagnande test är ett test som ger olika resultat, till exempel pass eller fail, även om det inte finns några ändringar i källkoden eller körningsmiljön. Flagnande tester påverkar också kvaliteten på levererad kod.

Anteckning

Den här funktionen är endast tillgänglig i Azure DevOps Services. Normalt introduceras nya funktioner i molntjänsten först och görs sedan tillgängliga lokalt i nästa huvudversion eller uppdatering av Azure DevOps Server. Mer information finns i Tidslinje för Azure DevOps-funktioner.

Målet med att få flagnande testhantering i produkten är att minska utvecklarens smärta orsaka av flagnande tester och tillgodose hela arbetsflödet. Flådig testhantering ger följande fördelar.

  • Identifiering – Automatisk identifiering av flagnande test med omkörning eller utökningsbarhet för att ansluta din egen anpassade identifieringsmetod

  • Hantering av flakiness – När ett test har markerats som flagnande är data tillgängliga för alla pipelines för den grenen

  • Rapport om flagnande tester – Möjlighet att välja om du vill förhindra byggfel som orsakas av flagnande tester eller använda den flagnande taggen endast för felsökning

  • Lösning – Manuellt felskapande eller manuell markering och avmarkeringstest som flagnande baserat på din analys

  • Stäng loopen – Återställ det flagnande testet till följd av felmatchning/manuella indata

Flagig livscykel

Aktivera flagnande testhantering

Om du vill konfigurera flagnande testhantering väljer du Projektinställningar och sedan Testhantering i avsnittet Pipelines .

Dra knappen På/Av till .

Skärmbild av testhantering, flakig testidentifiering aktiverad, Systemidentifiering.

Standardinställningen för alla projekt är att använda flagnande tester för felsökning.

Fläckig testidentifiering

Flagnande testhantering stöder system- och anpassad identifiering.

  • Systemidentifiering: Den flagnande identifieringen i produkten använder testkörningsdata. Identifieringen sker via VSTest-uppgiftskörning av misslyckade tester eller omförsök av fas i pipelinen. Du kan välja specifika pipelines i projektet som du vill identifiera flagnande tester för.

    Anteckning

    När ett test har markerats som flagnande är data tillgängliga för alla pipelines för den grenen för att hjälpa till med felsökning i varje pipeline.

  • Anpassad identifiering: Du kan integrera din egen fläckiga identifieringsmekanism med Azure Pipelines och använda rapporteringsfunktionen. Med anpassad identifiering måste du uppdatera testresultatmetadata för flagnande tester. Mer information finns i Testresultat, Resultatmetadata – UPPDATERA REST API.

Skärmbild av testhantering, flakig testidentifiering aktiverad, Anpassad identifiering.

Alternativ för flagnande test

De flagnande testalternativen anger hur flagnande tester är tillgängliga i testrapportering samt lösningsfunktioner, enligt beskrivningen i följande avsnitt.

Flagnande testhantering och rapportering

På sidan Testhantering under Flagnande testalternativ kan du ange alternativ för hur flagnande tester ingår i testsammanfattningsrapporten. Flagnande testdata för både godkänt och misslyckat test finns i Testresultat. Taggen Flaky hjälper dig att identifiera flagnande tester. Som standard ingår flagnande tester i testsammanfattningen. Men om du vill se till att flagnande testfel inte misslyckas i pipelinen kan du välja att inte inkludera dem i testsammanfattningen och förhindra testfelet. Det här alternativet säkerställer att flagnande tester (både godkända och misslyckade) tas bort från passprocenten och visas i Tester som inte rapporterats, enligt följande skärmbild.

Flådig rapportering

Anteckning

Testsammanfattningsrapporten uppdateras endast för Visual Studio Test-uppgift och Publicera testresultataktivitet. Du kan behöva lägga till ett anpassat skript för att förhindra flagnande testfel för andra scenarier.

Tester markerade som flagnande

Du kan markera eller avmarkera ett test som flagnande baserat på analys eller kontext genom att välja Flagnande (eller UnFlaky, beroende på om testet redan är markerat som flagnande.)

Markera flagnande test

När ett test markeras som flagnande eller olakt i en pipeline görs inga ändringar i den aktuella pipelinen. Endast vid framtida körningar av testet utvärderas den ändrade flagnande inställningen. Tester som markerats som flagnande har taggen Märkt flagnande i användargränssnittet.

Bekräfta flagnande test

Hjälp och support