O Teste de compatibilidade do Android (CTS, na sigla em inglês) oferece milhões de testes individuais. Embora seja necessário executar o CTS com frequência durante a fase de desenvolvimento de software, é possível reduzir o tempo necessário para executar esses testes.
Nesta página, descrevemos os métodos que podem ser usados para reduzir o tempo de execução do teste e como otimizar os recursos de hardware no processo.
Fragmentação de dispositivos
Para reduzir o tempo de ciclo, considere executar o CTS em vários dispositivos (fragmentação). Para saber como o sharding pode ser usado, consulte Executar testes do CTS.
Android Test Station
Use a Android Test Station (ATS) para empregar uma interface do usuário e executar conjuntos de testes Android padrão. Essa ferramenta serve como uma interface da Web para o Trade Federation (TF), permitindo executar o CTS com configuração mínima em um conjunto de dispositivos de teste, além de estabelecer uma programação para executar testes continuamente.
A Android Test Station oferece suporte ao modo de vários hosts, em que um único host controlador do ATS pode ser usado para gerenciar dispositivos e testes em vários hosts de trabalho do ATS.
Execução contínua do emulador
Para executar o CTS continuamente durante a fase de desenvolvimento, os Dispositivos virtuais Android (AVD) podem ser usados como substitutos do hardware. As regressões de falhas de teste podem ser identificadas no início, economizando muito do tempo necessário para triagem e análise das causas principais. Várias instâncias do emulador podem ser usadas para fragmentação e podem ser programadas para execução contínua com a estação de teste do Android.
Programa de qualidade drawElements (dEQP)
O
Programa de qualidade drawElements
(dEQP)
está incluído no CTS do Android. Chamado de CtsDepqTestCases
, esse programa se concentra
na cobertura de testes de gráficos do Android. Esse módulo representa quase 80% de todos os casos de teste no CTS do Android e 6% do tempo total de execução.
Como os drivers gráficos do Android fazem parte do firmware do Android (BSP) e não mudam muito durante o desenvolvimento, é possível executar esse módulo de forma estratégica. Por exemplo, se você executar o CTS a cada duas semanas (ou menos) durante o desenvolvimento de software, com base na programação de atualização do firmware, poderá excluir esse módulo por vários ciclos.
Uma opção é executar o CtsDeqpTestCases
separadamente em um conjunto de dispositivos e
enviar os relatórios do CTS. Por exemplo, em dois hosts diferentes.
Host 1:
cts-tf > run cts --max-log-size 100 --shard-count 6 -o -m CtsDeqpTestCases
Host 2:
cts-tf > run cts --max-log-size 100 --shard-count 6 -o --exclude-filter CtsDeqpTestCases
Casos de teste de mídia
Os casos de teste de mídia verificam serviços multimídia, como áudio, vídeo e drivers multimídia. Esses módulos de teste multimídia contribuem mais para o tempo de execução do CTS. Atrasos podem ocorrer quando:
- Fazer o download ou reproduzir arquivos de mídia repetidamente durante os testes.
- Tentando novamente os casos de teste com falha.
O CTS do Android contém estes módulos de teste:
CtsMediaStressTestCases
CtsMediaPlayerTestCases
CtsMediaAudioTestCases
CtsVideoTestCases
CtsMediaDecoderTestCases
CtsMediaCodecTestCases
CtsMediaV2TestCases
Considere executar alguns testes de mídia localmente ou em um servidor local. Para mais detalhes, consulte Executar testes de mídia do CTS localmente.
O framework multimídia e os drivers dele (decodificadores e codificadores) fazem parte do firmware do Android (BSP). É possível executar esse módulo estrategicamente e excluir esses módulos por vários ciclos, com base no cronograma de atualização do firmware.