Zestaw testów zgodności

Compatibility Test Suite (CTS) to darmowy zestaw testów klasy komercyjnej, dostępny do pobrania jako plik binarny lub jako źródło w ramach projektu Android Open Source Project (AOSP) . CTS reprezentuje „mechanizm” kompatybilności.

CTS działa na komputerze stacjonarnym i wykonuje przypadki testowe bezpośrednio na podłączonych urządzeniach lub emulatorze. CTS to zestaw testów jednostkowych zaprojektowanych do zintegrowania z codziennym przepływem pracy (takim jak system ciągłego budowania) inżynierów budujących urządzenie. Jego intencją jest wczesne wykrycie niezgodności i zapewnienie kompatybilności oprogramowania przez cały proces rozwoju.

CTS to zautomatyzowany pakiet testowy, który wykorzystuje dwa główne komponenty oprogramowania:

  • Wiązka testowa CTS Trade Federation działa na komputerze stacjonarnym i zarządza wykonywaniem testów. Oferuje możliwość dzielenia testów na wielu testowanych urządzeniach (DUT). Możesz również użyć funkcji ponawiania prób pakietu, aby ponowić próbę tylko błędów, a nie pełnych pakietów, co znacznie skraca czas ponownego uruchamiania.
  • Poszczególne przypadki testowe są wykonywane na DUT. Przypadki testowe są napisane w Javie jako testy JUnit i spakowane pliki .apk Androida do uruchomienia na rzeczywistym urządzeniu docelowym.

Weryfikator zestawu testów zgodności (CTS Verifier) ​​jest uzupełnieniem dostępnego do pobrania CTS. CTS Verifier zapewnia testy interfejsów API i funkcji, których nie można przetestować na urządzeniu stacjonarnym bez ręcznego wprowadzania danych (np. jakość dźwięku, akcelerometr itp.).

CTS Verifier to narzędzie do ręcznego testowania, które zawiera następujące komponenty oprogramowania:

  • Aplikacja weryfikatora CTS, która jest wykonywana na testowanym urządzeniu i zbiera wyniki.

  • Pliki wykonywalne lub skrypty, które są wykonywane na komputerze stacjonarnym w celu zapewnienia danych lub dodatkowej kontroli dla niektórych przypadków testowych w aplikacji CTS Verifier.

Przepływ pracy

Przepływ CTS

Rysunek 1. Jak korzystać z CTS

Ten diagram podsumowuje przepływ pracy CTS. Szczegółowe instrukcje znajdują się na podstronach tego rozdziału, zaczynając od konfiguracji .

Rodzaje przypadków testowych

CTS obejmuje następujące rodzaje przypadków testowych:

  • Testy jednostkowe testują atomowe jednostki kodu na platformie Android; np. pojedyncza klasa, taka jak java.util.HashMap.
  • Testy funkcjonalne testują kombinację interfejsów API w przypadku użycia wyższego poziomu.

Przyszłe wersje CTS będą zawierać następujące typy przypadków testowych:
  • Testy wytrzymałościowe sprawdzają trwałość systemu pod obciążeniem.
  • Testy wydajności sprawdzają wydajność systemu w odniesieniu do zdefiniowanych testów porównawczych, na przykład renderowania klatek na sekundę.

Obszary objęte

Przypadki testów jednostkowych obejmują następujące obszary w celu zapewnienia kompatybilności:

Powierzchnia Opis
Testy sygnatur Dla każdego wydania Androida istnieją pliki XML opisujące sygnatury wszystkich publicznych interfejsów API zawartych w wydaniu. CTS zawiera narzędzie do sprawdzania tych podpisów API z API dostępnymi na urządzeniu. Wyniki sprawdzania podpisów są zapisywane w pliku XML z wynikami testu.
Testy API platformy Przetestuj interfejsy API platformy (podstawowe biblioteki i platformę Android Application Framework) zgodnie z dokumentacją w indeksie klas SDK, aby zapewnić poprawność interfejsu API, w tym poprawne sygnatury klas, atrybutów i metod, poprawne zachowanie metody i testy negatywne, aby zapewnić oczekiwane zachowanie w przypadku nieprawidłowej obsługi parametrów.
Testy Dalvika Testy skupiają się na testowaniu formatu wykonywalnego Dalvik.
Model danych platformy CTS testuje podstawowy model danych platformy, który został udostępniony twórcom aplikacji za pośrednictwem dostawców treści, zgodnie z dokumentacją w pakiecie SDKandroid.provider : kontakty, przeglądarka, ustawienia itp.
Intencje platformy CTS testuje podstawowe intencje platformy, zgodnie z dokumentacją w zestawie SDK Available Intents .
Uprawnienia platformy CTS testuje podstawowe uprawnienia platformy, zgodnie z dokumentacją w zestawie SDK Available Permissions .
Zasoby platformy CTS testuje poprawną obsługę podstawowych typów zasobów platformy, zgodnie z dokumentacją w zestawie SDKDostępne typy zasobów . Obejmuje to testy dla: prostych wartości, elementów do rysowania, dziewięciu poprawek, animacji, układów, stylów i motywów oraz ładowania alternatywnych zasobów.