Správa nešikajících testů

Azure DevOps Services

Produktivita vývojářů závisí na schopnosti testů včas a spolehlivě najít skutečné problémy s kódem, který se vyvíjí nebo aktualizuje. Flaky testy představují překážku pro nalezení skutečných problémů, protože selhání často nesouvisí s testovanými změnami. Flaky test je test, který poskytuje různé výsledky, jako je úspěšné nebo neúspěšné, i když nedošlo k žádným změnám ve zdrojovém kódu nebo spouštěcím prostředí. Testy flaky mají také vliv na kvalitu dodaného kódu.

Poznámka

Tato funkce je dostupná jenom na Azure DevOps Services. Nové funkce se obvykle nejprve zavádějí v cloudové službě a pak se zpřístupní místně v další hlavní verzi nebo aktualizaci Azure DevOps Server. Další informace najdete v tématu Časová osa funkcí Azure DevOps.

Cílem zajištění fekčního řízení testů v produktu je snížit potíže vývojářů způsobené chytivými testy a vyhovět celému pracovnímu postupu. Flaky test management poskytuje následující výhody.

  • Detekce – automatická detekce fádního testu s opětovným spuštěním nebo rozšiřitelností pro připojení vlastní metody detekce

  • Správa flakiness – Jakmile je test označený jako nešikmý, jsou data dostupná pro všechny kanály pro danou větev.

  • Sestava o flaky testech – možnost zvolit, jestli chcete zabránit selháním sestavení způsobeným nechutným testům, nebo používat značku flaky pouze pro řešení potíží.

  • Řešení – ruční vytvoření chyby nebo ruční označení a zrušení označení na základě vaší analýzy

  • Zavření smyčky – Resetování testu flaky v důsledku řešení chyb nebo ručního zadávání

Flaky životní cyklus

Povolení správy nešikajících testů

Pokud chcete nakonfigurovat fádní správu testů, zvolte Nastavení projektu a v části Kanály vyberte Správa testů.

Posuňte tlačítko Zapnuto/Vypnuto na Zapnuto.

Snímek obrazovky se správou testů, povolenou detekcí testů Flaky, detekcí systému

Výchozím nastavením pro všechny projekty je použití nešikajících testů pro řešení potíží.

Detekce flaky testu

Správa testů Flaky podporuje systémovou a vlastní detekci.

  • Detekce systému: Detekce flaky v produktu používá testovací data opětovného spuštění. Detekce probíhá prostřednictvím opětovného spuštění úlohy VSTest schopnosti neúspěšných testů nebo opakováním fáze v kanálu. V projektu můžete vybrat konkrétní kanály, pro které chcete detekovat nechutné testy.

    Poznámka

    Jakmile je test označený jako šupivá, budou data dostupná pro všechny kanály pro danou větev, která vám pomůžou s řešením potíží v každém kanálu.

  • Vlastní detekce: S Azure Pipelines můžete integrovat vlastní mechanismus detekce a používat funkci generování sestav. U vlastního zjišťování je potřeba aktualizovat metadata výsledků testů pro fádní testy. Podrobnosti najdete v tématu Výsledky testů, Metadata výsledků – Aktualizace rozhraní REST API.

Snímek obrazovky se správou testů, povolenou detekcí testů Flaky, vlastní detekcí

Fádní možnosti testu

Možnosti testu Flaky určují, jak jsou v generování sestav testů dostupné testy a jak je popsáno v následujících částech.

Správa a vytváření sestav flaky testů

Na stránce Správa testů v části Možnosti testu Flaky můžete nastavit možnosti, jak se mají testy zahrnout do sestavy Souhrn testů. Ve výsledcích testu jsou k dispozici flaky testovací data pro úspěšný i neúspěšný test. Značka Flaky vám pomůže identifikovat ošidné testy. Ve výchozím nastavení jsou v souhrnu testu zahrnuty fádní testy. Pokud ale chcete zajistit, aby kanál neselžel, můžete je nezahrnovat do souhrnu testu a potlačit selhání testu. Tato možnost zajistí, že se z procenta průchodu odeberou fázované testy (úspěšné i neúspěšné) a zobrazí se v části Testy nejsou hlášené, jak je znázorněno na následujícím snímku obrazovky.

Flaky Reporting

Poznámka

Souhrnná sestava testu se aktualizuje jenom pro úlohu Visual Studio Test a Publikovat výsledky testu. Možná budete muset přidat vlastní skript, který v jiných scénářích potlačí neúspěšné testy.

Testy označené jako flaky

Na základě analýzy nebo kontextu můžete označit nebo zrušit označení testu tak, že zvolíte Flaky (nebo UnFlaky) v závislosti na tom, jestli je test už označený jako flaky.)

Označit flaky test

Pokud je test v kanálu označený jako flaky nebo unflaky, neprovedou se v aktuálním kanálu žádné změny. Pouze při budoucích spuštěních tohoto testu se vyhodnocuje změněné flaky nastavení. Testy označené jako flaky mají v uživatelském rozhraní značku Označený flaky .

Potvrdit flaky test

Nápověda a podpora