Flaky tests beheren
Azure DevOps Services
Productiviteit voor ontwikkelaars is afhankelijk van de mogelijkheid van tests om op een tijdige en betrouwbare manier echte problemen te vinden met de code die wordt ontwikkeld of bijgewerkt. Flaky tests vormen een barrière voor het vinden van echte problemen, omdat de fouten vaak niet betrekking hebben op de wijzigingen die worden getest. Een flaky test is een test die verschillende resultaten biedt, zoals geslaagd of mislukt, zelfs als er geen wijzigingen in de broncode of uitvoeringsomgeving zijn. Flaky tests hebben ook invloed op de kwaliteit van verzonden code.
Notitie
Deze functie is alleen beschikbaar in Azure DevOps Services. Normaal gesproken worden eerst nieuwe functies geïntroduceerd in de cloudservice en vervolgens on-premises beschikbaar gesteld in de volgende primaire versie of update van Azure DevOps Server. Zie de tijdlijn voor Azure DevOps-functies voor meer informatie.
Het doel van het integreren van flaky testmanagement binnen het product is om de last voor ontwikkelaars door flaky tests te verminderen en de hele werkstroom te ondersteunen. Flaky testbeheer biedt de volgende voordelen.
Detectie : automatische detectie van flaky test met opnieuw uitvoeren of uitbreidbaarheid om uw eigen aangepaste detectiemethode aan te sluiten
Beheer van instabiliteit - Zodra een test als instabiel is gemarkeerd, zijn de gegevens beschikbaar voor alle pipelines in die branch
Rapport over flaky tests - Mogelijkheid om te kiezen of u buildfouten wilt voorkomen die worden veroorzaakt door flaky tests of gebruik de flaky tag alleen voor probleemoplossing
Oplossing: handmatig bugs aanmaken of een test handmatig als flaky markeren of demarkeren op basis van uw analyse
Sluit de lus - Reset de onstabiele test als gevolg van foutoplossing/handmatige invoer
Beheer van instabiele tests inschakelen
Als u flaky testbeheer wilt configureren, kiest u Projectinstellingen en selecteert u Testbeheer in de sectie Pijplijnen.
Schuif de knop Aan/Uit naar Aan.
De standaardinstelling voor alle projecten is het gebruik van flaky tests voor probleemoplossing.
Flaky testdetectie
Flaky testbeheer ondersteunt systeem- en aangepaste detectie.
Systeemdetectie: De in-product flaky detectie maakt gebruik van testgegevens voor opnieuw uitvoeren. De detectie vindt plaats via het opnieuw uitvoeren van de VSTest-taak om mislukte tests opnieuw uit te voeren of het opnieuw proberen van de fase in de pijplijn. U kunt specifieke pijplijnen selecteren in het project waarvoor u flaky tests wilt detecteren.
Notitie
Zodra een test als flaky is gemarkeerd, zijn de gegevens beschikbaar voor alle pijplijnen van die vertakking om problemen op te lossen in elke pijplijn.
Aangepaste detectie: u kunt uw eigen flaky detectiemechanisme integreren met Azure Pipelines en de rapportagemogelijkheid gebruiken. Met aangepaste detectie moet u de metagegevens van de testresultaten bijwerken voor instabiele tests. Zie Testresultaten, Resultaatmetagegevens - REST API bijwerken voor meer informatie.
Opties voor flaky testen
De flaky test-opties geven aan hoe flaky tests beschikbaar zijn in testrapportage, evenals de oplossingsmogelijkheden, zoals beschreven in de volgende secties.
Flaky testbeheer en rapportage
Op de pagina Testbeheer onder Flaky testopties kunt u opties instellen voor de wijze waarop flaky tests worden opgenomen in het rapport Testoverzicht. Flaky testgegevens voor zowel geslaagde als mislukte tests zijn beschikbaar in testresultaten. Met de Flaky-tag kunt u flaky tests identificeren. Standaard worden onbetrouwbare tests opgenomen in de testsamenvatting. Als u er echter voor wilt zorgen dat flaky testfouten geen problemen veroorzaken in uw pijplijn, kunt u ervoor kiezen deze uit te sluiten van uw testoverzicht en de testfout te negeren. Met deze optie zorgt u ervoor dat flaky tests (zowel geslaagd als mislukt) worden verwijderd uit het slagingspercentage en worden weergegeven in Tests die niet zijn gerapporteerd, zoals wordt weergegeven in de volgende schermafbeelding.
Notitie
Het overzichtsrapport Test wordt alleen bijgewerkt voor de visual Studio-testtaak en de taak Testresultaten publiceren. Mogelijk moet u een aangepast script toevoegen om "flaky" testfouten in andere scenario's te onderdrukken.
Tests gemarkeerd als onbetrouwbaar
U kunt een test als flaky of niet-flaky markeren op basis van analyse of context door Flaky (of UnFlaky) te kiezen, afhankelijk van of de test al als flaky is gemarkeerd.
Wanneer een test in een pijplijn als flaky of niet-flaky wordt gemarkeerd, worden er geen wijzigingen aangebracht in de huidige pijplijn. Alleen bij toekomstige uitvoeringen van die test wordt de gewijzigde flaky instelling geëvalueerd. Tests die als flaky zijn gemarkeerd, hebben de gemarkeerd als flaky tag in de gebruikersinterface.
Help en ondersteuning
- Zie onze pagina voor probleemoplossing
- Krijg advies over Stack Overflow en krijg ondersteuning via de Ontwikkelaarscommunity