Cykl życia testu TF

Cykl życia testu wykonywanego przy użyciu Federacji Handlowej składa się z czterech oddzielnych etapów, zaprojektowanych wokół formalnie zdefiniowanych interfejsów.

Zdefiniowane interfejsy

  • Dostawca kompilacji : udostępnia kompilację do przetestowania, w razie potrzeby pobierając odpowiednie pliki.
  • Przygotowujący obiekt docelowy : przygotowuje środowisko testowe, w tym prawdopodobnie instalację oprogramowania i konfigurację urządzenia.
  • Test : Wykonuje testy i zbiera wyniki testów. Może to być dowolny test JUnit, chociaż nasz interfejs IRemoteTest został specjalnie zaprojektowany do pracy w środowisku Federacji Handlowej.
  • Odbiornik wywołania testu (raportowanie wyników) : nasłuchuje wyników testu, zwykle w celu przekazania wyników testu do repozytorium lub wyświetlenia ich osobie uruchamiającej testy.

Podstawową jednostką testującą w TF jest konfiguracja (config). Konfiguracja to plik XML, który deklaruje składniki cyklu życia testu.

To oddzielenie cyklu życia testu ma na celu umożliwienie ponownego wykorzystania. Korzystając z tego projektu, programista może utworzyć test raz, a następnie integrator może utworzyć różne konfiguracje, aby uruchomić ten test w różnych środowiskach. Na przykład mogą utworzyć konfigurację, która uruchomi test na komputerze lokalnym i zrzuci wynik na standardowe wyjście. Następnie mogliby utworzyć drugą konfigurację, która wykonałaby ten sam test, ale do przechowywania wyników testu w bazie danych użyć innego odbiornika wywołania testu. Trzecia konfiguracja może być zaprojektowana do uruchamiania tego testu w sposób ciągły z laboratorium testowego.

Warto tutaj zauważyć, że konfiguracja wraz z jej argumentami wiersza polecenia (dostarczonymi przez program uruchamiający testy) jest znana jako Command . Gdy TF paruje Command z ITestDevice i wykonuje je, kolejny obiekt jest znany jako Invocation . Krótko mówiąc, wywołanie obejmuje pełne wykonanie testu TF w całym jego cyklu życia.

Dodatkowe komponenty konfiguracyjne

  • Odzyskiwanie urządzenia : mechanizm odzyskiwania komunikacji urządzenia w przypadku utraty.
  • Logger : zbiera dane z rejestrowania danych pochodzących z handlu.

Wyjście sceniczne i błędy

Każdy etap inwokacji jest wykonywany sekwencyjnie i ma określony cel. W tej sekcji opisano typowe wyjścia i błędy każdego etapu.

Dostawca kompilacji

Ten etap tworzy i generuje obiekt IBuildInfo , który zawiera wszystkie odwołania do plików wymaganych do skonfigurowania i uruchomienia testów.

Najczęstszym błędem na tym etapie jest niepowodzenie pobierania lub znajdowania żądanych plików.

Błąd na tym etapie powoduje bezpośrednie zgłoszenie błędu i nie uruchamianie testów.

Przygotowanie celu

Na tym etapie ustalane są niezbędne stany testowanego obiektu docelowego. Na tym etapie można zmienić urządzenie lub konfigurację hosta zgodnie z potrzebami danego wywołania testowego.

Typowe błędy na tym etapie zwykle obejmują nieustawienie urządzenia w danym stanie (na przykład nieudane flashowanie) i niemożność znalezienia wymaganych plików do konfiguracji.

Błąd na tym etapie powoduje uruchomienie czyszczenia docelowego, zgłoszenie błędu i brak uruchamiania testów.

Testy

Ten etap uruchamia żądane testy na wcześniej przygotowanym celu i raportuje wszystkie wyniki wykonania testów.

Typowe błędy na tym etapie zwykle dotyczą niedostępności testowanego celu lub jakiegoś błędu powodującego częściowe wykonanie testów. Błędy te to problemy z infrastrukturą, które wpływają na samo wykonanie testu, w przeciwieństwie do niepowodzenia pojedynczego przypadku testowego.

Błąd na tym etapie skutkuje zatrzymaniem wykonywania testu, uruchomieniem czyszczenia docelowego, zgłoszeniem błędu i uzyskaniem częściowych wyników.

Raportowanie wyników

Na tym etapie wyniki i błędy są zgłaszane do skonfigurowanych usług (na przykład serwerów i plików lokalnych).

Chociaż poszczególne osoby zgłaszające wyniki mogą mieć błędy, są od siebie odizolowane (jeden zgłaszający nie widzi błędów drugiego). Błędy te wpływają tylko na raportowanie wyników pojedynczego zgłaszającego, a błędy można przeglądać w dziennikach.