A partir de 27 de março de 2025, recomendamos usar android-latest-release em vez de aosp-main para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Visão geral do conjunto de teste de compatibilidade (CTS)
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O conjunto de teste de compatibilidade (CTS) é um conjunto de teste de nível comercial sem custo financeiro e
ferramentas usadas para garantir que seus dispositivos sejam compatíveis com o Android. O CTS
é integrado ao seu fluxo de trabalho diário, por exemplo, por meio de um
sistema de build contínuo. O CTS é executado em uma máquina de computador e executa testes
diretamente em dispositivos conectados ou em um emulador. Para uma visão geral da compatibilidade do Android, consulte Visão geral do Programa de compatibilidade do Android.
Figura 1. Testes automatizados do CTS.
A Figura 1 mostra o processo de execução de testes automatizados do CTS:
Faça o download e instale o CTS. Essa etapa também envolve a configuração do ambiente de teste, da estação de trabalho de teste e do dispositivo que você está testando ou do dispositivo em teste (DUT, na sigla em inglês).
Execute testes automatizados do CTS.
Armazene e analise os resultados.
Resolver problemas e repetir testes.
Use o CTS para revelar incompatibilidades antecipadamente e garantir que suas implementações
do Android permaneçam compatíveis durante todo o processo de desenvolvimento.
Componentes do CTS
O CTS contém os seguintes componentes principais:
Federação de comércio
Um harness e um framework de teste permitem a execução automatizada de testes.
Testes automatizados do CTS
Testes que usam o framework da Trade Federation e podem ser executados usando o harness de teste
da Trade Federation.
Testes do CTS Verifier (CTS-V)
Testes que precisam ser executados manualmente.
App CTS Verifier (CTS-V)
Um app usado para realizar testes CTS-V e coletar os resultados.
Caso de teste
Um teste individual executado no DUT. Os casos de teste automatizados são
programados em Java como testes JUnit e arquivos APK do Android empacotados para serem executados no
dispositivo de destino.
Os casos de teste podem ser testes de unidade ou testes funcionais. Um teste de unidade testa unidades
atômicas de código na plataforma Android. Por exemplo, um teste de unidade pode testar
uma única classe do Android.
Um teste funcional exercita uma combinação de métodos e classes usados para um
caso de uso específico.
Configuração do teste
Um conjunto específico de testes automatizados executados no
DUT. As configurações de teste são arquivos XML localizados em
WORKING_DIRECTORY/cts/tools/cts-tradefed/res/config.
Há configurações de teste que contêm todos os casos de teste automatizados e configurações
de teste que contêm um subconjunto de casos de teste.
Módulo de teste
Uma configuração de teste que consiste em uma coleção de casos de teste para a mesma
área de recurso.
Plano de teste
Uma configuração de teste que consiste em uma coleção de módulos de teste.
Cobertura de teste
Os casos de teste abrangem as seguintes áreas para garantir a compatibilidade:
Área
Descrição
Testes de assinatura
Para cada versão do Android, há arquivos XML que descrevem as assinaturas de todas
as APIs públicas contidas na versão. O CTS contém um utilitário para verificar essas assinaturas
de API em relação às APIs disponíveis no dispositivo. Os resultados da verificação
de assinatura são registrados no arquivo XML de resultados do teste.
Testes da API Platform
Teste as APIs da plataforma (bibliotecas principais e framework do aplicativo Android) conforme documentado
no índice de classes do SDK para
garantir a correção da API, incluindo assinaturas de classe, atributo e método corretas,
comportamento de método correto e testes negativos para garantir o comportamento esperado para
o processamento incorreto de parâmetros.
Testes do Dalvik
Os testes se concentram no formato executável Dalvik.
Modelo de dados da plataforma
O CTS testa o modelo de dados da plataforma principal conforme exposto aos desenvolvedores de aplicativos
por provedores de conteúdo, conforme documentado no
pacote android.provider do SDK (incluindo contatos, navegadores e configurações).
Intenções da plataforma
O CTS testa as intents principais da plataforma, conforme documentado no
Intents comuns do SDK.
Permissões da plataforma
O CTS testa as permissões principais da plataforma, conforme documentado no
SDK Manifest.permission.
Recursos da plataforma
O CTS testa o processamento correto dos tipos de recursos principais da plataforma,
conforme documentado na
Visão geral dos tipos de recursos do SDK. Os testes do CTS incluem testes para valores simples, drawables, nine-patch,
animações, layouts, estilos e temas, além de carregar recursos alternativos.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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)."]]