Otimizar o CTS

O conjunto de teste de compatibilidade (CTS) do Android 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 encurtar o tempo necessário para executar esses testes.

Esta página descreve os métodos que você pode usar para reduzir o tempo de execução do teste e como otimizar os recursos de hardware no processo.

Fragmentação de dispositivos

Para reduzir a duração do ciclo, execute o CTS em vários dispositivos (fragmentação). Para saber como a fragmentação pode ser usada, consulte Executar testes do CTS.

Android Test Station

Use the Android Test Station (ATS) para empregar uma interface do usuário para executar conjuntos de testes Android padrão. Essa ferramenta serve como uma interface da Web para Trade Federation (TF), permitindo que você execute 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, com o qual um único host de controlador da ATS pode ser usado para gerenciar dispositivos e testes em vários hosts de trabalho da ATS.

Execução contínua do emulador

Para executar o CTS continuamente durante a fase de desenvolvimento, os Dispositivos virtuais Android (AVDs) podem ser usados como substitutos do hardware. As regressões de falhas de teste podem ser identificadas com antecedência, economizando muito do tempo necessário para triagem e análise de causas raiz. Várias instâncias do emulador podem ser usadas para fragmentação e podem ser programadas para execução contínua com a Android Test Station.

Programa de qualidade drawElements (dEQP)

O drawElements 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 de gráficos do Android fazem parte do firmware do Android (BSP) e não mudam muito durante o desenvolvimento, você pode executar esse módulo estrategicamente. 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 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 os 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 de arquivos de mídia ou reproduzir arquivos de mídia repetidamente durante os testes.
  • Repetir 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 (decodificadores e codificadores) fazem parte do firmware do Android (BSP). Você pode executar esse módulo estrategicamente e excluir esses módulos por vários ciclos, com base na programação de atualização do firmware.