Od 27 marca 2025 r. zalecamy używanie android-latest-release zamiast aosp-main do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Compatibility Test Suite (CTS) to bezpłatny pakiet narzędzi do testowania o charakterze komercyjnym, który pomaga zapewnić zgodność urządzeń z Androidem. Narzędzie CTS powinno być zintegrowane z Twoim codziennym przepływem pracy, np. za pomocą systemu ciągłej kompilacji. CTS działa na komputerze stacjonarnym i wykonuje testy bezpośrednio na podłączonych urządzeniach lub na emulatorze. Informacje o zgodności z Androidem znajdziesz w omówieniu programu zgodności z Androidem.
Rysunek 1. Automatyczne testowanie CTS.
Rysunek 1 przedstawia proces wykonywania testów automatycznych CTS:
Pobierz i zainstaluj CTS. Ten krok obejmuje również skonfigurowanie środowiska testowego, stacji roboczej do testowania i urządzenia, które testujesz, czyli urządzenia testowego (UT).
Uruchamianie testów zautomatyzowanych CTS.
Przechowuj i przeglądaj wyniki.
Rozwiązywanie problemów i ponowne uruchamianie testów.
Używaj pakietu CTS, aby wcześnie wykrywać niezgodności i zapewniać zgodność implementacji Androida w całym procesie tworzenia.
Komponenty CTS
CTS zawiera te główne komponenty:
Federacja handlowa
Testowy zestaw narzędzi i ramy umożliwiają automatyczne wykonywanie testów.
Automatyczne testy CTS
Testy, które korzystają z platformy Trade Federation i mogą być uruchamiane za pomocą zestawu testowego Trade Federation.
Testy weryfikatora CTS (CTS-V)
Testy, które należy przeprowadzać ręcznie.
Aplikacja weryfikatora CTS (CTS-V)
Aplikacja służąca do przeprowadzania testów CTS-V i zbierania wyników tych testów.
Przypadek testowy
pojedynczy test wykonany na urządzeniu testowym; Automatyczne przypadki testowe są pisane w języku Java jako testy JUnit i pakowane w pliki APK Androida, aby można było je uruchomić na urządzeniu docelowym.
Przypadki testowe mogą być testami jednostkowymi lub testami funkcjonalnymi. Test jednostkowy sprawdza atomowe jednostki kodu na platformie Android. Test jednostkowy może na przykład sprawdzać pojedynczą klasę Androida.
Test funkcjonalny wykorzystuje kombinację metod i klas używanych w konkretnym przypadku użycia.
Konfiguracja testowa
Określony zestaw testów automatycznych uruchamianych na potrzeby testów w warunkach rzeczywistych. 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ą podzbiór przypadków testowych.
Moduł testowy
Konfiguracja testu składająca się z zbioru przypadków testowych dotyczących tej samej funkcji.
Plan testów
Konfiguracja testu składająca się z kolei modułów testowych.
Zakres testów
Aby zapewnić zgodność, przypadki testowe obejmują te obszary:
Obszar
Opis
Testy podpisu
W przypadku każdej wersji Androida istnieją pliki XML opisujące podpisy wszystkich publicznych interfejsów API zawartych w tej wersji. CTS zawiera narzędzie do sprawdzania podpisów interfejsów API na podstawie interfejsów API dostępnych na urządzeniu. Wyniki sprawdzania podpisu są zapisywane w pliku XML wyników testu.
Testy interfejsu Platform API
Przetestuj interfejsy API platformy (biblioteki podstawowe i platformę Android Application Framework) zgodnie z dokumentacją w Indeksie klas w pakiecie SDK, aby sprawdzić poprawność interfejsu API, w tym poprawność sygnatur klas, atrybutów i metod, poprawne działanie metod oraz testy negatywne, które mają na celu zapewnienie oczekiwanego zachowania w przypadku nieprawidłowego obsługiwania parametrów.
Testy Dalvik
Testy koncentrują się na testowaniu formatu wykonywalnego Dalvik.
Model danych platformy
CTS testuje podstawowy model danych platformy udostępniany deweloperom aplikacji przez dostawców treści, zgodnie z dokumentacją w pakiecie SDK android.provider (w tym kontakty, przeglądarki i ustawienia).
Zamiary związane z platformą
CTS sprawdza intencje platformy podstawowej zgodnie z dokumentacją
intencji typowych w SDK.
Uprawnienia platformy
Test CTS sprawdza podstawowe uprawnienia platformy zgodnie z dokumentacją w pakiecie SDK Manifest.permission.
Zasoby platformy
CTS sprawdza prawidłowe obsługiwanie typów zasobów platformy, zgodnie z dokumentacją
Podsumowanie typów zasobów w SDK. Testy CTS obejmują testy prostych wartości, obrazów, komponentów typu nine-patch, animacji, układów, stylów i motywów oraz wczytywania zasobów alternatywnych.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# The Compatibility Test Suite (CTS) overview\n\n*Compatibility Test Suite (CTS)* is a free, commercial-grade test suite and\ntools used to help ensure that your devices are Android compatible. CTS is\nintended to be integrated into your daily workflow, such as through a\ncontinuous build system. CTS runs on a desktop machine and executes tests\ndirectly on attached devices or on an emulator. For an overview of Android compatibility, see [Android compatibility program overview](/docs/compatibility).\n\n**Figure 1.** CTS automated testing.\n\nFigure 1 shows the process of executing CTS automated tests:\n\n1. Download and install CTS. This step also involves setting up the test environment, the testing workstation, and the device you are testing or *device under test (DUT)*\n2. Run CTS automated tests.\n3. Store and review the results.\n4. Troubleshoot issues and rerun tests.\n\nUse CTS to reveal incompatibilities early, and to ensure that your Android\nimplementations remain compatible throughout the development process.\n\nCTS components\n--------------\n\nCTS contains the following major components:\n\n*Trade Federation*\n: A test harness and framework allow for the automated execution of tests.\n\n*CTS automated tests*\n: Tests that use the Trade Federation framework and can be run using the Trade\n Federation test harness.\n\n*CTS Verifier (CTS-V) tests*\n: Tests that must be run manually.\n\n*CTS Verifier (CTS-V) app*\n: An app used to conduct CTS-V tests and collect CTS-V test results.\n\n*Test case*\n\n: An individual test executed on the DUT. Automated test cases are\n written in Java as JUnit tests and packaged Android APK files to run on the\n device target.\n\n Test cases can be *unit tests* or *functional tests*. A unit test tests atomic\n units of code within the Android platform. For example, a unit test might test\n a single Android class.\n\n A functional test exercises a combination of methods and classes used for a\n specific use case.\n\n*Test configuration*\n\n: A specific set of automated tests that are run on the\n DUT. Test configurations are XML files located in\n \u003cvar translate=\"no\"\u003eWORKING_DIRECTORY\u003c/var\u003e`/cts/tools/cts-tradefed/res/config`.\n There are test configurations that contains all automated test cases and test\n configurations that contain a subset of test cases.\n\n*Test module*\n\n: A test configuration consisting of a collection of test cases for the same\n feature area.\n\n*Test plan*\n\n: A test configuration consisting of a collection of test modules.\n\n| **Note:** The Android Open Source Project accepts contributions to improve CTS just as for any other component. Improving the coverage and quality of CTS tests is one of the best ways to contribute to Android. To make contributions to CTS, follow the same process in [Submit code changes](/docs/setup/contribute/submit-patches).\n\nTest coverage\n-------------\n\nTest cases cover the following areas to ensure compatibility:\n\n| Area | Description |\n|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Signature tests | For each Android release, there are XML files describing the signatures of all public APIs contained in the release. The CTS contains a utility to check those API signatures against the APIs available on the device. The results from signature checking are recorded in the test result XML file. |\n| Platform API tests | Test the platform (core libraries and Android Application Framework) APIs as documented in the SDK [Class Index](https://developer.android.com/reference/classes) to ensure API correctness, including correct class, attribute and method signatures, correct method behavior, and negative tests to ensure expected behavior for incorrect parameter handling. |\n| Dalvik tests | The tests focus on testing the Dalvik executable format. |\n| Platform data model | The CTS tests the core platform data model as exposed to application developers through content providers, as documented in the SDK [`android.provider`](https://developer.android.com/reference/android/provider/package-summary) package (including contacts, browsers, and settings) |\n| Platform intents | The CTS tests the core platform intents, as documented in the SDK [Common intents](https://developer.android.com/guide/appendix/g-app-intents). |\n| Platform permissions | The CTS tests the core platform permissions, as documented in the SDK [`Manifest.permission`](https://developer.android.com/reference/android/Manifest.permission). |\n| Platform resources | The CTS tests for correct handling of the core platform resource types, as documented in the SDK [Resource types overview](https://developer.android.com/guide/topics/resources/available-resources). The CTS tests include tests for simple values, drawables, nine-patch, animations, layouts, styles and themes, and loading alternate resources. |\n\nWhat's next\n-----------\n\nAfter reading this document, continue to [Set up CTS](/docs/compatibility/cts/setup)."]]