Optimiza el CTS

El Conjunto de pruebas de compatibilidad (CTS) de Android proporciona millones de pruebas individuales. Si bien es necesario ejecutar el 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 prueba y cómo optimizar los recursos de hardware en el proceso.

Fragmentación de dispositivos

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

Android Test Station

Usa Android Test Station (ATS) para emplear una interfaz de usuario que ejecute 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 una programación para ejecutar pruebas de forma continua.

Android Test Station admite el modo para múltiples hosts, con el que se puede usar un solo host del 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 sustituto del hardware. Las regresiones de las fallas de las pruebas 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 la fragmentación y se pueden programar para que se ejecuten de forma continua con Android Test Station.

drawElements Quality Program (dEQP)

El programa de calidad drawElements (dEQP) se incluye en el CTS de Android. Llamado CtsDepqTestCases, este programa se centra en la cobertura de pruebas de los gráficos de Android. Este módulo representa casi el 80% de todos los casos de prueba en el CTS de Android y 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 durante el 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 de contenido multimedia, como el audio, el video y los controladores de contenido multimedia. Estos módulos de prueba de contenido multimedia son los que más contribuyen al tiempo de ejecución del CTS. Se pueden producir demoras en los siguientes casos:

  • Descarga de archivos multimedia o reproducción repetida de archivos multimedia durante las pruebas
  • Reintento de 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 de CTS de forma local.

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