Udostępnij za pośrednictwem


Zarządzanie niestabilnymi testami

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 odpowiednim czasie i niezawodności. Niestabilne testy stanowią barierę w znalezieniu rzeczywistych problemów, ponieważ błędy często nie odnoszą się do testowanych zmian. Niestabilny test to test, który zapewnia różne wyniki, takie jak powodzenie lub niepowodzenie, nawet jeśli nie ma żadnych zmian w kodzie źródłowym lub środowisku wykonywania. Niestabilne testy wpływają również na jakość dostarczonego kodu.

Uwaga

Ta funkcja jest dostępna tylko w usługach 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 serwera Azure DevOps Server. Aby uzyskać więcej informacji, 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 zaspokoić cały przepływ pracy. Zarządzanie testami flaky zapewnia następujące korzyści.

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

  • Zarządzanie flakiness — gdy test jest oznaczony jako niestabilny, dane są dostępne dla wszystkich potoków dla tej gałęzi

  • Raport dotyczący niestabilnych testów — możliwość wyboru, czy chcesz zapobiec niepowodzeniom 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 niestabilnego na podstawie analizy

  • Zamknij pętlę — zresetuj test łuszczący się w wyniku rozwiązania błędów/ręcznego wprowadzania danych wejściowych

Cykl życia flaky

Włączanie niestabilnego zarządzania testami

Aby skonfigurować zarządzanie testami, wybierz pozycję Ustawienia projektu, a następnie wybierz pozycję Zarządzanie testami w sekcji Potoki .

Przesuń przycisk ./Wył.

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

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

Wykrywanie nietypowych testów

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

  • Wykrywanie systemu: wykrywanie w produkcie łuszczącym się używa danych ponownego uruchamiania testów. Wykrywanie odbywa się za pośrednictwem 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. W projekcie możesz wybrać określone potoki, 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 ułatwić rozwiązywanie 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 niestabilnych testów. Aby uzyskać szczegółowe informacje, zobacz Wyniki testów, Dane meta 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, zgodnie z opisem w poniższych sekcjach.

Flaky test zarządzania i raportowania

Na stronie Zarządzanie testami w obszarze Flaky test options (Opcje testu flaky) można ustawić opcje dotyczące tego, jak niestabilne testy są zawarte w raporcie Podsumowanie testu. Dane testowe z powodzeniem i niepowodzeniem są dostępne w wynikach testu testowego. 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 gwarantuje, że nieudane testy (zarówno z powodzeniem, jak i niepowodzeniem) są usuwane z wartości procentowej przebiegu i wyświetlane w sekcji Testy niezgłoszone, jak pokazano na poniższym zrzucie ekranu.

Raportowanie flaky

Uwaga

Raport podsumowania testów 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ń testu flaky dla innych scenariuszy.

Testy oznaczone jako niestabilne

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

Oznaczanie flaky Test

Gdy test jest oznaczony jako niestabilny lub niezafakły w potoku, żadne zmiany nie są wprowadzane w bieżącym potoku. Tylko w przyszłych wykonaniach tego testu jest zmienione niestabilne ustawienie oceniane. Testy oznaczone jako niestabilne mają tag Oznaczona flaky w interfejsie użytkownika.

Potwierdzanie niestabilnego testu

Pomoc i obsługa techniczna