Optimiza el CTS

El conjunto de pruebas de compatibilidad (CTS) de Android proporciona millones de pruebas individuales. Si bien es necesario ejecutar CTS con frecuencia durante la fase de desarrollo de software, es posible acortar el tiempo necesario para ejecutar estas pruebas.

En esta página, se describen los métodos que puedes usar para reducir el tiempo de ejecución de las pruebas y cómo optimizar los recursos de hardware en el proceso.

Fragmentando dispositivos

Para reducir la duración del ciclo, considera ejecutar el CTS en varios dispositivos (fragmentación). Para ver cómo se puede usar el fragmentación, consulta Cómo ejecutar pruebas de CTS.

Android Test Station

Usa Android Test Station (ATS) para emplear una interfaz de usuario y ejecutar conjuntos de pruebas estándares de Android. Esta herramienta funciona como una interfaz web para Trade Federation (TF), lo que te permite ejecutar el CTS con una configuración mínima en un conjunto de dispositivos de prueba, así como establecer un programa para ejecutar pruebas de forma continua.

La estación de prueba de Android admite el modo de varios hosts, con el que se puede usar un solo host de controlador de ATS para administrar dispositivos y pruebas en varios hosts de trabajo de ATS.

Ejecución continua del emulador

Para ejecutar el CTS de forma continua durante la fase de desarrollo, se pueden usar dispositivos virtuales de Android (AVD) como sustitutos del hardware. Las regresiones de pruebas fallidas se pueden identificar con anticipación, lo que ahorra gran parte del tiempo necesario para clasificar y analizar las causas raíz. Se pueden usar varias instancias del emulador para el fragmentación y se pueden programar para que se ejecuten de forma continua con la estación de prueba de Android.

Programa de calidad de drawElements (dEQP)

El Programa de calidad (dEQP) de drawElements se incluye en el CTS de Android. Este programa, llamado CtsDepqTestCases, se enfoca en la cobertura de pruebas de los gráficos de Android. Este módulo representa casi el 80% de todos los casos de prueba del CTS de Android y representa el 6% del tiempo total de ejecución.

Dado que los controladores de gráficos de Android forman parte del firmware de Android (BSP) y no cambian mucho a lo largo del desarrollo, puedes ejecutar este módulo de forma estratégica. Por ejemplo, si ejecutas el CTS cada dos semanas (o menos) durante el desarrollo de software, según el programa de actualización del firmware, puedes excluir este módulo durante varios ciclos.

Una opción es ejecutar CtsDeqpTestCases por separado en un conjunto de dispositivos y, luego, enviar los informes de CTS. Por ejemplo, en dos 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 prueba de contenido multimedia

Los casos de prueba de contenido multimedia verifican los servicios multimedia, como el audio, el video y los controladores multimedia. Estos módulos de prueba multimedia son los que más contribuyen al tiempo de ejecución de CTS. Las demoras pueden ocurrir en los siguientes casos:

  • Descargar archivos multimedia o reproducir varios archivos multimedia durante las pruebas
  • Volver a intentar casos de prueba fallidos

El CTS de Android contiene los siguientes módulos de prueba:

  • CtsMediaStressTestCases
  • CtsMediaPlayerTestCases
  • CtsMediaAudioTestCases
  • CtsVideoTestCases
  • CtsMediaDecoderTestCases
  • CtsMediaCodecTestCases
  • CtsMediaV2TestCases

Considera ejecutar algunas pruebas de contenido multimedia de forma local o en un servidor local. Para obtener más información, consulta Cómo ejecutar pruebas de contenido multimedia del CTS de forma local.

El framework multimedia y sus controladores (decodificadores y codificadores) son parte del firmware de Android (BSP). Puedes ejecutar este módulo de forma estratégica y excluirlo durante varios ciclos, según el programa de actualización de firmware.