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 kompilacji. CTS działa na komputerze stacjonarnym i wykonuje testy bezpośrednio na podłączonych urządzeniach lub w 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ą zgodne przez cały proces tworzenia.
Komponenty CTS
CTS składa się z tych głównych komponentów:
- Federacja Handlowa
- Platforma testowa i framework umożliwiają automatyczne wykonywanie testów.
- Automatyczne testy CTS
- Testy, które korzystają z platformy Trade Federation i można je uruchamiać za pomocą narzędzia 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 wyników tych testó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.
Elementy testowania 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, które są przeprowadzane na testowanym urządzeniu. Konfiguracje testowe 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ą ich podzbiór.- 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 testowe
Aby zapewnić zgodność, przypadki testowe obejmują te obszary:
| Obszar | Opis |
|---|---|
| Testy podpisów | 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 w porównaniu z interfejsami API dostępnymi na urządzeniu. Wyniki sprawdzania podpisu są zapisywane w pliku XML z wynikami testu. |
| Testy interfejsu Platform API | Przetestuj interfejsy API platformy (biblioteki podstawowe i Android Application Framework) zgodnie z dokumentacją w indeksie klas pakietu SDK, aby sprawdzić ich poprawność, 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ą w pakiecie SDK
android.provider (w tym kontakty, przeglądarki i ustawienia). |
| Intencje dotyczące platformy | 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 obsługiwanie podstawowych typów zasobów platformy, zgodnie z dokumentacją w omówieniu 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 konfigurowania CTS.