Cykl życia testu TF

Cykl życia testu realizowanego za pomocą Federacji Handlowej składa się z czterech odrębnych etapów, zaprojektowanych wokół formalnie zdefiniowanych interfejsów.

Zdefiniowane interfejsy

  • Dostawca kompilacji : zapewnia kompilację do przetestowania, pobierając odpowiednie pliki, jeśli to konieczne.
  • Osoba przygotowująca obiekt docelowy : Przygotowuje środowisko testowe, łącznie z 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, aby dobrze działać w środowisku Federacji Handlowej.
  • Odbiornik wywołania testu (raportowanie wyników) : nasłuchuje wyników testu, zwykle w celu przesłania wyników testu do repozytorium lub wyświetlenia ich uruchamiającemu test.

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

To oddzielenie cyklu życia testu ma na celu umożliwienie jego ponownego wykorzystania. Korzystając z tego projektu, Programista może raz utworzyć Test, 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 użyłaby innego odbiornika wywołania testu do przechowywania wyników testu w bazie danych. Można zaprojektować trzecią konfigurację, która będzie przeprowadzać ciągłe testy w jakimś laboratorium testowym.

Warto w tym miejscu zauważyć, że konfiguracja wraz z jej argumentami wiersza poleceń (podanymi przez uruchamiającego test) jest znana jako Command . Kiedy TF łączy polecenie z ITestDevice i wykonuje je, kolejny obiekt nazywany jest wywołaniem . Krótko mówiąc, wywołanie obejmuje pełne wykonanie testu TF w całym jego cyklu życia.

Dodatkowe elementy konfiguracyjne

Wyjście sceniczne i błędy

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

Dostawca kompilacji

Na tym etapie tworzony jest i wyprowadzany obiekt IBuildInfo , który zawiera wszystkie odniesienia do plików wymaganych do skonfigurowania i uruchomienia testów.

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

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

Przygotowanie celu

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

Najczęstsze błędy na tym etapie polegają zazwyczaj na niepowodzeniu w doprowadzeniu urządzenia do danego stanu (np. nieudane flashowanie) i braku znalezienia wymaganych plików do instalacji.

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

Testy

Na tym etapie przeprowadzane są żądane testy na wcześniej przygotowanym celu i raportowane są wszystkie wyniki wykonania testów.

Najczęstsze błędy na tym etapie dotyczą zazwyczaj niedostępności testowanego obiektu lub wystąpienia błędu powodującego częściowe wykonanie testów. Błędy te to problemy z infrastrukturą, które wpływają na samo wykonanie testu, a nie na niepowodzenie pojedynczego przypadku testowego.

Błąd na tym etapie powoduje zatrzymanie wykonywania testu, uruchomienie czyszczenia celu, zgłoszenie błędu i uzyskanie częściowych wyników.

Raportowanie wyników

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

Chociaż poszczególni reporterzy wyników mogą mieć błędy, są od siebie odizolowani (jeden reporter nie widzi błędów drugiego). Błędy te wpływają wyłącznie na raporty wyników poszczególnych reporterów, a błędy można przeglądać w dziennikach.