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

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.
- 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. |