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.