Hantera flagnande tester

Azure DevOps Services

Produktivitet 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 relaterar 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ällkods- eller körningsmiljön. Flagnande tester påverkar också kvaliteten på levererad kod.

Kommentar

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 genom flagnande tester och tillgodose hela arbetsflödet. Flådd 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

Flakig livscykel

Aktivera flagnande testhantering

Om du vill konfigurera flagnande testhantering väljer du Projektinställningar och väljer 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 produktbaserade fläckiga identifieringen använder testkörningsdata. Identifieringen sker via VSTest-uppgiftskörning av funktionen för misslyckade tester eller ett nytt försök av fasen i pipelinen. Du kan välja specifika pipelines i projektet som du vill identifiera flagnande tester för.

    Kommentar

    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 rökiga 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

Alternativen för flagnande test anger hur flagnande tester är tillgängliga i testrapportering och lösningsfunktioner, enligt beskrivningen i följande avsnitt.

Flådd 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 felaktiga 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 rapporteras, som visas i följande skärmbild.

Flådd rapportering

Kommentar

Testsammanfattningsrapporten uppdateras endast för Visual Studio-testaktiviteten och publicera testresultat. 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 har markerats som flagnande.)

Markera flagnande test

När ett test har markerats som flagnande eller olaky 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