Compatibility Test Suite (CTS) to bezpłatny zestaw testów i narzędzi klasy komercyjnej, który pomaga zapewnić zgodność urządzeń z Androidem. CTS ma być zintegrowany z Twoim codziennym przepływem pracy, np. za pomocą systemu ciągłego kompilowania. CTS działa na komputerze stacjonarnym i wykonuje testy bezpośrednio na podłączonych urządzeniach lub na emulatorze. Omówienie zgodności z Androidem znajdziesz w tym artykule.
 
 
Rysunek 1. Automatyczne testy CTS.
Ilustracja 1 przedstawia proces wykonywania automatycznych testów CTS:
- Pobierz i zainstaluj CTS. Ten krok obejmuje też skonfigurowanie środowiska testowego, stacji roboczej do testowania i urządzenia, które testujesz, czyli urządzenia poddanego testowi.
- Uruchom testy automatyczne CTS.
- Zapisz i sprawdź wyniki.
- Rozwiąż problemy i ponownie uruchom testy.
Używaj pakietu CTS, aby wcześnie wykrywać niezgodności i zapewnić, że implementacje Androida pozostaną kompatybilne przez cały proces tworzenia.
Komponenty CTS
CTS składa się z tych głównych komponentów:
- Federacja Handlowa
- Platforma i szkielet testowy umożliwiają automatyczne przeprowadzanie testów.
- Automatyczne testy CTS
- Testy, które korzystają z platformy Trade Federation i można je uruchamiać za pomocą narzędzia testowego Trade Federation.
- Testy weryfikatora CTS (CTS-V)
- Testy, które należy przeprowadzić ręcznie.
- Aplikacja CTS Verifier (CTS-V)
- Aplikacja używana do przeprowadzania testów CTS-V i zbierania ich wyników.
- Przypadek testowy
- Pojedynczy test przeprowadzony na testowanym urządzeniu. Automatyczne przypadki testowe są pisane w Javie jako testy JUnit i pakowane w pliki APK na Androida, aby można było je uruchamiać na urządzeniu docelowym. - Przypadki testowe mogą być testami jednostkowymi lub testami funkcjonalnymi. Test jednostkowy sprawdza atomowe jednostki kodu na platformie Androida. Na przykład test jednostkowy może testować pojedynczą klasę Androida. - Test funkcjonalny obejmuje kombinację metod i klas używanych w określonym przypadku użycia. 
- Konfiguracja testu
- Określony zestaw testów automatycznych przeprowadzanych na testowanym urządzeniu. Konfiguracje testów to pliki XML znajdujące się w folderze - WORKING_DIRECTORY/cts/tools/cts-tradefed/res/config. Istnieją konfiguracje testów, które zawierają wszystkie automatyczne przypadki testowe, oraz konfiguracje testów, które zawierają podzbiór przypadków testowych.
- Moduł testowy
- Konfiguracja testu składająca się z kolekcji przypadków testowych dotyczących tego samego obszaru funkcji. 
- Plan testów
- Konfiguracja testu składająca się z kolekcji modułów testowych. 
Pokrycie testami
Aby zapewnić zgodność, przypadki testowe obejmują te obszary:
| Obszar | Opis | 
|---|---|
| Testy sygnatur | W przypadku każdej wersji Androida istnieją pliki XML opisujące sygnatury wszystkich publicznych interfejsów API zawartych w tej wersji. CTS zawiera narzędzie do sprawdzania tych sygnatur interfejsu API pod kątem interfejsów API dostępnych na urządzeniu. Wyniki sprawdzania podpisu są rejestrowane w pliku XML z wynikami testu. | 
| Testy interfejsu API platformy | Przetestuj interfejsy API platformy (biblioteki podstawowe i platforma aplikacji na Androida) zgodnie z dokumentacją w indeksie klas pakietu SDK, aby sprawdzić poprawność interfejsu API, w tym prawidłowe sygnatury klas, atrybutów i metod, prawidłowe działanie metod oraz testy negatywne, które zapewniają oczekiwane działanie w przypadku nieprawidłowej obsługi parametrów. | 
| Testy Dalvik | Testy koncentrują się na testowaniu formatu wykonywalnego Dalvik. | 
| Model danych platformy | Testy CTS sprawdzają podstawowy model danych platformy udostępniany programistom aplikacji za pomocą dostawców treści, zgodnie z dokumentacją pakietu SDK android.provider(w tym kontakty, przeglądarki i ustawienia). | 
| Zamiary związane z platformą | Testy CTS sprawdzają intencje platformy podstawowej, zgodnie z dokumentacją pakietu SDK Typowe intencje. | 
| Uprawnienia platformy | Testy CTS sprawdzają uprawnienia podstawowej platformy, zgodnie z dokumentacją pakietu SDK Manifest.permission. | 
| Zasoby platformy | Testy CTS sprawdzają prawidłowe działanie podstawowych typów zasobów platformy, zgodnie z dokumentacją w przeglądzie typów zasobów w pakiecie SDK. Testy CTS obejmują testy prostych wartości, elementów rysowalnych, obrazów 9-patch, animacji, układów, stylów i motywów oraz wczytywania alternatywnych zasobów. | 
Co dalej
Po przeczytaniu tego dokumentu przejdź do sekcji Konfigurowanie CTS.
