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 las pruebas y cómo optimizar los recursos de hardware en el proceso.
Fragmentación de dispositivos
Para reducir el tiempo de ciclo, considera ejecutar el CTS en varios dispositivos (fragmentación). Para ver cómo se puede usar el sharding, consulta Cómo ejecutar pruebas de CTS.
Estación de pruebas de Android
Usa Android Test Station (ATS) para emplear una interfaz de usuario y ejecutar conjuntos de pruebas estándares de Android. Esta herramienta sirve como 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 pruebas de Android 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 trabajadores 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 errores de pruebas se pueden identificar con anticipación, lo que ahorra gran parte del tiempo necesario para priorizar y analizar las causas raíz. Se pueden usar varias instancias del emulador para el sharding y se pueden programar para que se ejecuten de forma continua con la estación de pruebas de Android.
Programa de calidad de drawElements (dEQP)
El Programa de calidad de drawElements (dEQP) 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 en el CTS de Android y el 6% del tiempo total de ejecución.
Dado que los controladores 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 las 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 del 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 medios 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 del CTS. Los retrasos pueden ocurrir en los siguientes casos:
- Descargar archivos multimedia o reproducirlos repetidamente durante las pruebas
 - Se vuelven a intentar los casos de prueba con errores.
 
El CTS de Android contiene los siguientes módulos de prueba:
CtsMediaStressTestCasesCtsMediaPlayerTestCasesCtsMediaAudioTestCasesCtsVideoTestCasesCtsMediaDecoderTestCasesCtsMediaCodecTestCasesCtsMediaV2TestCases
Considera ejecutar algunas pruebas de medios 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 (codificadores y decodificadores) forman 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 del firmware.