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 para 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, revisa Ejecuta pruebas de CTS.

Android Test Station

Usa el Android Test Station (ATS) usar una interfaz de usuario para ejecutar paquetes de prueba estándar 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 Modo de varios hosts, con el que se puede usar un único host de controlador ATS para administrar dispositivos y pruebas en varios hosts trabajadores de ATS.

Ejecución continua del emulador

Para ejecutar el CTS continuamente durante la fase de desarrollo, Dispositivos virtuales de Android (AVD) puede usarse como sustituto del hardware. Las regresiones de errores de pruebas pueden identificadas con anticipación, lo que ahorra gran parte del tiempo necesario para clasificar y analizar causas. 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 es responsable de casi el 80% de casos de prueba en el 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 CTS cada dos semanas (o menos) durante el desarrollo de software, según el programa de actualización de 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 servicios multimedia como audio, video y el 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
  • Reintentar casos de prueba fallidos.

El CTS de Android contiene estos 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 Ejecuta pruebas de contenido multimedia de CTS de forma local.

El framework multimedia y sus controladores (decodificadores y codificadores) 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.