Cykl życia testu TF, cykl życia testu TF

Cykl życia testu wykonywanego za pomocą Trade Federation 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.
  • Target Preparation : Przygotowuje środowisko testowe, w tym ewentualnie 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łań testowych (raportowanie wyników) : nasłuchuje wyników testów, zwykle w celu przekazania wyników testów do repozytorium lub wyświetlenia ich Biegaczowi Testów.

Podstawową jednostką testową 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 ponownego użycia. 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. Mogą na przykład 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 detektora wywołań testowych do przechowywania wyników testów w bazie danych. Trzecia konfiguracja może być zaprojektowana do ciągłego uruchamiania tego testu z laboratorium testowego.

W tym miejscu warto zauważyć, że konfiguracja wraz z argumentami wiersza polecenia (podane przez program uruchamiający testy) jest znana jako Command . Kiedy TF łączy Command z ITestDevice i wykonuje je, kolejny obiekt jest znany jako Invocation . Krótko mówiąc, Inwokacja obejmuje wykonanie kompletnego testu TF w całym jego cyklu życia.

Dodatkowe elementy konfiguracji

Wyjście sceny i błędy

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

Dostawca kompilacji

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

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

Błąd na tym etapie skutkuje bezpośrednim zgłoszeniem błędu i brakiem uruchomienia testów.

Przygotowanie celu

Ten etap określa niezbędne stany testowanego celu. Na tym etapie można zmienić konfigurację urządzenia lub hosta zgodnie z potrzebami dla danego wywołania testowego.

Typowe błędy na tym etapie zwykle polegają na nieustawieniu urządzenia w zadanym stanie (na przykład nieudane flashowanie) i nieznalezieniu wymaganych plików do konfiguracji.

Błąd na tym etapie skutkuje uruchomieniem czyszczenia celu, zgłoszeniem błędu i brakiem uruchomienia testów.

Testy

Ten etap uruchamia wymagane 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. Te błędy to problemy z infrastrukturą, które wpływają na samo wykonanie testu, w przeciwieństwie do awarii pojedynczego przypadku testowego.

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

Raportowanie wyników

Ten etap zgłasza wyniki i błędy skonfigurowanym usługom (na przykład serwerom i plikom lokalnym).

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 mają wpływ tylko na raportowanie wyników przez pojedynczego zgłaszającego, a błędy można przeglądać w dziennikach.

,

Cykl życia testu wykonywanego za pomocą Trade Federation 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.
  • Target Preparation : Przygotowuje środowisko testowe, w tym ewentualnie 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łań testowych (raportowanie wyników) : nasłuchuje wyników testów, zwykle w celu przekazania wyników testów do repozytorium lub wyświetlenia ich Biegaczowi Testów.

Podstawową jednostką testową 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 ponownego użycia. 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. Mogą na przykład 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 detektora wywołań testowych do przechowywania wyników testów w bazie danych. Trzecia konfiguracja może być zaprojektowana do ciągłego uruchamiania tego testu z laboratorium testowego.

W tym miejscu warto zauważyć, że konfiguracja wraz z argumentami wiersza polecenia (podane przez program uruchamiający testy) jest znana jako Command . Kiedy TF łączy Command z ITestDevice i wykonuje je, kolejny obiekt jest znany jako Invocation . Krótko mówiąc, Inwokacja obejmuje wykonanie kompletnego testu TF w całym jego cyklu życia.

Dodatkowe elementy konfiguracji

Wyjście sceny i błędy

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

Dostawca kompilacji

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

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

Błąd na tym etapie skutkuje bezpośrednim zgłoszeniem błędu i brakiem uruchomienia testów.

Przygotowanie celu

Ten etap określa niezbędne stany testowanego celu. Na tym etapie można zmienić konfigurację urządzenia lub hosta zgodnie z potrzebami dla danego wywołania testowego.

Typowe błędy na tym etapie zwykle polegają na nieustawieniu urządzenia w zadanym stanie (na przykład nieudane flashowanie) i nieznalezieniu wymaganych plików do konfiguracji.

Błąd na tym etapie skutkuje uruchomieniem czyszczenia celu, zgłoszeniem błędu i brakiem uruchomienia testów.

Testy

Ten etap uruchamia wymagane 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. Te błędy to problemy z infrastrukturą, które wpływają na samo wykonanie testu, w przeciwieństwie do awarii pojedynczego przypadku testowego.

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

Raportowanie wyników

Ten etap zgłasza wyniki i błędy skonfigurowanym usługom (na przykład serwerom i plikom lokalnym).

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 mają wpływ tylko na raportowanie wyników przez pojedynczego zgłaszającego, a błędy można przeglądać w dziennikach.