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łej kompilacji. CTS działa na komputerze i wykonuje testy bezpośrednio na podłączonych urządzeniach lub na emulatorze. Ogólne informacje o zgodności z Androidem znajdziesz w artykule Omówienie programu zgodności z Androidem.
Rysunek 1. Automatyczne testy CTS.
Rysunek 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 testowanego (DUT).
- Uruchom automatyczne testy CTS.
- Zapisz i sprawdź wyniki.
- Rozwiąż problemy i ponownie uruchom testy.
Użyj CTS, aby wcześnie wykryć niezgodności i mieć pewność, że implementacje Androida pozostaną zgodne przez cały proces tworzenia.
Komponenty CTS
CTS zawiera te główne komponenty:
- Trade Federation
- Platforma i struktura testowa umożliwiają automatyczne wykonywanie testów.
- Automatyczne testy CTS
- Testy, które korzystają ze struktury Trade Federation i można je uruchamiać za pomocą platformy testowej Trade Federation.
- Testy weryfikatora CTS (CTS-V)
- Testy, które trzeba uruchamiać ręcznie.
- Aplikacja weryfikatora CTS (CTS-V)
- Aplikacja służąca do przeprowadzania testów CTS-V i zbierania wyników testów CTS-V.
- Element testowania
Pojedynczy test przeprowadzany na DUT. Automatyczne elementy testowania są pisane w języku Java jako testy JUnit i pakowane w pliki APK na Androida, aby można je było uruchamiać na urządzeniu docelowym.
Elementy testowania mogą być testami jednostkowymi lub testami funkcjonalnymi. Test jednostkowy testuje atomowe jednostki kodu w platformie Android. Na przykład test jednostkowy może testować pojedynczą klasę Androida.
Test funkcjonalny sprawdza kombinację metod i klas używanych w konkretnym przypadku użycia.
- Konfiguracja testu
Określony zestaw automatycznych testów, które są uruchamiane na DUT. Konfiguracje testów to pliki XML znajdujące się w
WORKING_DIRECTORY/cts/tools/cts-tradefed/res/config. Istnieją konfiguracje testów, które zawierają wszystkie automatyczne elementy testowania, oraz konfiguracje testów, które zawierają podzbiór elementów testowania.- Moduł testowy
Konfiguracja testu składająca się z kolekcji elementów testowania dla tego samego obszaru funkcji.
- Plan testów
Konfiguracja testu składająca się z kolekcji modułów testowych.
Pokrycie testowe
Aby zapewnić zgodność, elementy testowania obejmują te obszary:
| Obszar | Opis |
|---|---|
| Testy podpisu | W przypadku każdej wersji Androida dostępne są pliki XML opisujące podpisy wszystkich publicznych interfejsów API zawartych w tej wersji. CTS zawiera narzędzie do sprawdzania tych podpisów interfejsów API pod kątem interfejsów API dostępnych na urządzeniu. Wyniki sprawdzania podpisu są zapisywane w pliku XML z wynikami testu. |
| Testy interfejsu API platformy | Testuj interfejsy API platformy (biblioteki podstawowe i struktura aplikacji na Androida) 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 działanie metod oraz testy negatywne, aby zapewnić oczekiwane działanie w przypadku nieprawidłowej obsługi parametrów. |
| Testy Dalvik | Testy koncentrują się na testowaniu formatu wykonywalnego Dalvik. |
| Model danych platformy | CTS testuje 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 platformy | CTS testuje podstawowe intencje platformy zgodnie z dokumentacją w pakiecie SDK Common intents. |
| Uprawnienia platformy | CTS testuje podstawowe uprawnienia platformy zgodnie z dokumentacją w
pakiecie SDK
Manifest.permission. |
| Zasoby platformy | CTS testuje prawidłową obsługę podstawowych typów zasobów platformy, zgodnie z dokumentacją w pakiecie SDK Resource types overview. Testy CTS obejmują testy wartości, elementów rysowalnych, elementów dziewięciopikselowych, animacji, układów, stylów i motywów oraz wczytywania alternatywnych zasobów. |
Co dalej?
Po przeczytaniu tej strony przejdź do artykułu Konfigurowanie CTS.