O Compatibility Test Suite (CTS) é um conjunto de testes gratuito de nível comercial usado por fabricantes de dispositivos para ajudar a garantir que seus dispositivos sejam compatíveis e para relatar resultados de testes para validações. O CTS deve ser integrado ao fluxo de trabalho diário (como por meio de um sistema de construção contínua) dos engenheiros que constroem um dispositivo. A intenção do CTS é revelar incompatibilidades desde o início e garantir que o software permaneça compatível durante todo o processo de desenvolvimento.
O CTS está disponível para download como binário ou como código-fonte no Android Open Source Project (AOSP) . O CTS é executado em uma máquina desktop e executa casos de teste diretamente em dispositivos conectados ou em um emulador.
CTS contém dois componentes principais de software:
- O equipamento de teste da Trade Federation é executado em sua máquina desktop e gerencia a execução do teste. A Trade Federation oferece a capacidade de realizar testes de fragmentos em vários dispositivos sob teste (DUTs). Você também pode usar o recurso de nova tentativa de conjunto para repetir apenas as falhas, em vez dos conjuntos completos, reduzindo bastante o tempo de nova execução.
- Os casos de teste individuais são executados no DUT. Os casos de teste são escritos em Java como testes JUnit e arquivos Android .apk empacotados para serem executados no dispositivo de destino real.
Verificador de conjunto de testes de compatibilidade (verificador CTS)
O Compatibility Test Suite Verifier (CTS Verifier) é um complemento do CTS disponível para download . O CTS Verifier fornece testes para APIs e funções que não podem ser testadas em um dispositivo estacionário sem entrada manual (por exemplo, qualidade de áudio e acelerômetro) ou posicionamento manual.
O CTS Verifier é uma ferramenta para testes manuais e inclui os seguintes componentes de software:
O aplicativo CTS Verifier que é executado no DUT (e em um segundo dispositivo para requisitos de medição de distância) e coleta os resultados.
Os executáveis ou scripts executados na máquina desktop para fornecer dados ou controle adicional para alguns casos de teste no aplicativo CTS Verifier.
Fluxo de trabalho
Este diagrama resume o fluxo de trabalho do CTS. Consulte as subpáginas desta seção, começando com Configuração , para obter instruções detalhadas.
Tipos de casos de teste
CTS inclui os seguintes tipos de casos de teste:
- Os testes de unidade testam unidades atômicas de código na plataforma Android; por exemplo, uma única classe, como java.util.HashMap.
Os testes funcionais testam uma combinação de APIs em um caso de uso de nível superior.
Cobertura de teste unitário
Os casos de teste de unidade cobrem as seguintes áreas para garantir compatibilidade:
Área | Descrição |
---|---|
Testes de assinatura | Para cada versão do Android, existem 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 de API de plataforma | Teste as APIs da plataforma (bibliotecas principais e Android Application Framework), conforme documentado no SDK Class Index para garantir a correção da API, incluindo classe correta, assinaturas de atributos e métodos, comportamento correto do método e testes negativos para garantir o comportamento esperado para manipulação incorreta de parâmetros. |
Testes Dalvik | Os testes se concentram em testar o formato executável Dalvik. |
Modelo de dados de plataforma | O CTS testa o modelo de dados da plataforma central conforme exposto aos desenvolvedores de aplicativos por meio de provedores de conteúdo, conforme documentado no pacote Android.provider do SDK: contatos, navegador, configurações, etc. |
Intenções da plataforma | O CTS testa as principais intenções da plataforma, conforme documentado no SDK Available Intents . |
Permissões da plataforma | O CTS testa as permissões principais da plataforma, conforme documentado em SDK Available Permissions . |
Recursos da plataforma | O CTS testa o manuseio correto dos principais tipos de recursos da plataforma, conforme documentado em SDK Available Resource Types . Isso inclui testes para: valores simples, drawables, nove patches, animações, layouts, estilos e temas e carregamento de recursos alternativos. |