Zarządzanie testami flaky

Usługa Azure DevOps Services

Produktywność dla deweloperów polega na możliwości testowania w celu znalezienia rzeczywistych problemów z kodem w ramach programowania lub aktualizacji w sposób terminowy i niezawodny. Flaky testy stanowią barierę do znajdowania rzeczywistych problemów, ponieważ błędy często nie odnoszą się do testowanych zmian. Flaky test to test, który zapewnia różne wyniki, takie jak przekazywanie lub niepowodzenie, nawet jeśli nie ma żadnych zmian w kodzie źródłowym lub środowisku wykonywania. Flaky testy wpływają również na jakość dostarczonego kodu.

Uwaga

Ta funkcja jest dostępna tylko w Azure DevOps Services. Zazwyczaj nowe funkcje są najpierw wprowadzane w usłudze w chmurze, a następnie udostępniane lokalnie w następnej wersji głównej lub aktualizacji Azure DevOps Server. Aby dowiedzieć się więcej, zobacz Oś czasu funkcji usługi Azure DevOps.

Celem wprowadzenia niestabilnego zarządzania testami w produkcie jest zmniejszenie przyczyny bólu dewelopera przez niestabilne testy i zaspokajanie całego przepływu pracy. Zarządzanie testami flaky zapewnia następujące korzyści.

  • Wykrywanie — automatyczne wykrywanie nietypowego testu z ponownym uruchomieniem lub rozszerzalnością w celu podłączenia własnej niestandardowej metody wykrywania

  • Zarządzanie flakiness — po oznaczeniu testu jako niestabilnego dane są dostępne dla wszystkich potoków dla tej gałęzi

  • Raport na temat flaky testów — możliwość wyboru, czy chcesz zapobiec awariom kompilacji spowodowanym przez nieudane testy, lub użyć tagu flaky tylko do rozwiązywania problemów

  • Rozwiązanie — ręczne tworzenie usterek lub ręczne oznaczanie i usuwanie znacznika testu jako usterki na podstawie analizy

  • Zamknij pętlę — zresetuj test flaky w wyniku rozwiązania usterek / ręcznego wprowadzania danych wejściowych

Cykl życia flaky

Włączanie flaky test management

Aby skonfigurować zarządzanie testami flaky, wybierz pozycję Ustawienia projektu i wybierz pozycję Zarządzanie testami w sekcji Potoki .

Przesuń przycisk Wł./Wył.

Zrzut ekranu przedstawiający zarządzanie testami, włączoną funkcję wykrywania testów flaky, wykrywanie systemu.

Ustawieniem domyślnym dla wszystkich projektów jest użycie flaky testów do rozwiązywania problemów.

Flaky test detection (Flaky test detection)

Zarządzanie testami flaky obsługuje wykrywanie systemowe i niestandardowe.

  • Wykrywanie systemu: wykrywanie w produkcie nietypowe używa danych ponownego uruchamiania testów. Wykrywanie odbywa się za pomocą ponownego uruchamiania zadań VSTest dotyczących możliwości testów, które zakończyły się niepowodzeniem, lub ponawiania próby etapu w potoku. Możesz wybrać określone potoki w projekcie, dla których chcesz wykryć niestabilne testy.

    Uwaga

    Gdy test zostanie oznaczony jako niestabilny, dane są dostępne dla wszystkich potoków dla tej gałęzi, aby pomóc w rozwiązywaniu problemów w każdym potoku.

  • Wykrywanie niestandardowe: możesz zintegrować własny mechanizm wykrywania flaky z usługą Azure Pipelines i korzystać z możliwości raportowania. W przypadku wykrywania niestandardowego należy zaktualizować metadane wyników testów pod kątem niesłychanych testów. Aby uzyskać szczegółowe informacje, zobacz Wyniki testów, Metadane wyników — aktualizowanie interfejsu API REST.

Zrzut ekranu przedstawiający zarządzanie testami, włączone wykrywanie testów flaky, wykrywanie niestandardowe.

Flaky opcje testu

Opcje testu Flaky określają, jak niestabilne testy są dostępne w raportowaniu testów, a także możliwości rozwiązywania problemów, jak opisano w poniższych sekcjach.

Flaky test zarządzania i raportowania

Na stronie Zarządzanie testami w obszarze Opcje testu Flaky można ustawić opcje sposobu flaky testów uwzględnionych w raporcie Podsumowanie testu. Flaky dane testowe dla testu z powodzeniem i niepowodzeniem są dostępne w wynikach testu. Tag Flaky pomaga zidentyfikować niestabilne testy. Domyślnie w podsumowaniu testu są uwzględniane niestabilne testy. Jeśli jednak chcesz upewnić się, że niepowodzeń testu nie powiedzie się potok, możesz nie uwzględnić ich w podsumowaniu testu i pominąć niepowodzenie testu. Ta opcja zapewnia, że nieudanych testów (zarówno z powodzeniem, jak i niepowodzeniem) są usuwane z wartości procentowej przebiegu i wyświetlane w obszarze Nie zgłoszono testów, jak pokazano na poniższym zrzucie ekranu.

Raportowanie flaky

Uwaga

Raport podsumowania testu jest aktualizowany tylko dla zadania testowego programu Visual Studio i zadania Publikuj wyniki testu. Może być konieczne dodanie niestandardowego skryptu w celu pomijania niepowodzeń testowych w innych scenariuszach.

Testy oznaczone jako łyse

Możesz oznaczyć lub usunąć znacznik testu jako łyski na podstawie analizy lub kontekstu, wybierając pozycję Flaky (lub UnFlaky, w zależności od tego, czy test jest już oznaczony jako flaky).

Oznaczanie flaky Test

Gdy test jest oznaczony jako nieopłatny lub nielakyzwany w potoku, w bieżącym potoku nie są wprowadzane żadne zmiany. Tylko w przyszłych wykonaniach tego testu jest zmienione niestabilne ustawienie ocenione. Testy oznaczone jako flaky mają tag Oznaczone flaky w interfejsie użytkownika.

Potwierdzanie niestabilnego testu

Pomoc i obsługa techniczna