Zestaw testów zgodności

Zestaw testów zgodności (CTS) to bezpłatny zestaw testów klasy komercyjnej, który można pobrać w formacie binarnym lub jako źródło w projekcie Android Open Source Project (AOSP) . CTS reprezentuje „mechanizm” zgodnoś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 w celu zintegrowania z codziennym przepływem pracy (np. poprzez system ciągłego budowania) inżynierów budujących urządzenie. Jego celem jest wczesne wykrycie niezgodności i zapewnienie kompatybilności oprogramowania przez cały proces tworzenia.

CTS to zautomatyzowany zestaw testów, 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ść fragmentowania testów na wielu testowanych urządzeniach (DUT). Możesz także użyć funkcji ponawiania prób pakietu, aby ponawiać tylko błędy, a nie pełne pakiety, co znacznie skraca czas ponownego uruchomienia.
  • Poszczególne przypadki testowe są wykonywane na urządzeniu DUT. Przypadki testowe są pisane w Javie jako testy JUnit i spakowane pliki .apk systemu Android, które można uruchomić na rzeczywistym urządzeniu docelowym.

Weryfikator zestawu testów zgodności (CTS Verifier) ​​jest dodatkiem do CTS dostępnym do pobrania . CTS Verifier zapewnia testy interfejsów API i funkcji, których nie można przetestować na urządzeniu stacjonarnym bez ręcznego wprowadzania danych (na przykład jakości dźwięku i akcelerometru) lub ręcznego pozycjonowania.

CTS Verifier jest narzędziem do ręcznego testowania i zawiera następujące komponenty oprogramowania:

  • Aplikacja weryfikatora CTS, która jest uruchamiana na urządzeniu DUT (oraz na drugim urządzeniu na potrzeby pomiaru odległości) i zbiera wyniki.

  • Pliki wykonywalne lub skrypty 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 w CTS. Szczegółowe instrukcje można znaleźć na podstronach tej sekcji, zaczynając od opcji Konfiguracja .

Rodzaje przypadków testowych

CTS obejmuje następujące typy 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 razem w przypadku użycia wyższego poziomu.

Przyszłe wersje CTS będą obejmować następujące typy przypadków testowych:
  • Testy odporności sprawdzają trwałość systemu pod obciążeniem.
  • Testy wydajności sprawdzają wydajność systemu w porównaniu z określonymi wzorcami, na przykład renderowaniem klatek na sekundę.

Obszary objęte

Przypadki testów jednostkowych obejmują następujące obszary, aby zapewnić kompatybilność:

Obszar Opis
Testy podpisów Dla każdej wersji Androida dostępne są pliki XML opisujące sygnatury wszystkich publicznych interfejsów API zawartych w tej wersji. CTS zawiera narzędzie umożliwiające sprawdzenie podpisów API względem interfejsów API dostępnych na urządzeniu. Wyniki sprawdzania podpisu są zapisywane w pliku XML z wynikami testu.
Testy API platformy Przetestuj interfejsy API platformy (biblioteki podstawowe i środowisko aplikacji systemu Android) zgodnie z dokumentacją w indeksie klas pakietu SDK, aby zapewnić poprawność interfejsu API, w tym prawidłowe podpisy klas, atrybutów i metod, prawidłowe zachowanie metod oraz negatywne testy, aby zapewnić oczekiwane zachowanie w przypadku nieprawidłowej obsługi parametrów.
Testy Dalvika Testy skupiają się na testowaniu formatu pliku wykonywalnego Dalvik.
Model danych platformy CTS testuje podstawowy model danych platformy udostępniony twórcom aplikacji za pośrednictwem dostawców treści, jak udokumentowano w pakiecie SDK android.provider : kontakty, przeglądarka, ustawienia itp.
Zamierzenia Platformy CTS testuje podstawowe intencje platformy, jak udokumentowano w SDK Available Intents .
Uprawnienia platformy CTS testuje podstawowe uprawnienia platformy, zgodnie z dokumentacją w zestawie SDK Dostępne uprawnienia .
Zasoby platformy CTS testuje poprawną obsługę typów zasobów platformy podstawowej, zgodnie z dokumentacją w zestawie SDK Dostępne typy zasobów . Obejmuje to testy: prostych wartości, rysunków, dziewięciu poprawek, animacji, układów, stylów i motywów oraz ładowania alternatywnych zasobów.