Conjunto de pruebas de compatibilidad

El conjunto de pruebas de compatibilidad (CTS) es un conjunto de pruebas gratuito de calidad comercial, disponible para descargar como binario o como fuente en el Proyecto de código abierto de Android (AOSP) . El CTS representa el "mecanismo" de la compatibilidad.

El CTS se ejecuta en una máquina de escritorio y ejecuta casos de prueba directamente en dispositivos conectados o en un emulador. El CTS es un conjunto de pruebas unitarias diseñado para integrarse en el flujo de trabajo diario (como a través de un sistema de construcción continua) de los ingenieros que construyen un dispositivo. Su intención es revelar las incompatibilidades desde el principio y garantizar que el software siga siendo compatible durante todo el proceso de desarrollo.

El CTS es un conjunto de pruebas automatizado que utiliza dos componentes principales de software:

  • El arnés de prueba de CTS Trade Federation se ejecuta en su máquina de escritorio y administra la ejecución de la prueba. Ofrece la capacidad de fragmentar pruebas en múltiples dispositivos bajo prueba (DUT). También puede usar la función de reintento de la suite para reintentar solo las fallas en lugar de las suites completas, lo que reduce en gran medida el tiempo de repetición.
  • Los casos de prueba individuales se ejecutan en el DUT. Los casos de prueba están escritos en Java como pruebas JUnit y archivos .apk de Android empaquetados para ejecutarse en el dispositivo de destino real.

El Verificador de conjunto de pruebas de compatibilidad (CTS Verifier) ​​es un complemento del CTS disponible para descargar . CTS Verifier proporciona pruebas para API y funciones que no se pueden probar en un dispositivo estacionario sin entrada manual (por ejemplo, calidad de audio, acelerómetro, etc.).

El CTS Verifier es una herramienta para pruebas manuales e incluye los siguientes componentes de software:

  • La aplicación verificadora CTS que se ejecuta en el DUT y recopila los resultados.

  • Los ejecutables o secuencias de comandos que se ejecutan en la máquina de escritorio para proporcionar datos o control adicional para algunos casos de prueba en la aplicación CTS Verifier.

flujo de trabajo

flujo CTS

Figura 1. Cómo usar CTS

Este diagrama resume el flujo de trabajo de CTS. Consulte las subpáginas de esta sección que comienzan con Configuración para obtener instrucciones detalladas.

Tipos de casos de prueba

El CTS incluye los siguientes tipos de casos de prueba:

  • Las pruebas unitarias prueban unidades atómicas de código dentro de la plataforma Android; por ejemplo, una sola clase, como java.util.HashMap.
  • Las pruebas funcionales prueban una combinación de API juntas en un caso de uso de nivel superior.

Las versiones futuras del CTS incluirán los siguientes tipos de casos de prueba:
  • Las pruebas de robustez prueban la durabilidad del sistema bajo tensión.
  • Las pruebas de rendimiento evalúan el rendimiento del sistema frente a puntos de referencia definidos, por ejemplo, la representación de fotogramas por segundo.

Zonas cubiertas

Los casos de prueba unitaria cubren las siguientes áreas para garantizar la compatibilidad:

Área Descripción
Pruebas de firma Para cada versión de Android, hay archivos XML que describen las firmas de todas las API públicas contenidas en la versión. El CTS contiene una utilidad para comparar esas firmas de API con las API disponibles en el dispositivo. Los resultados de la verificación de la firma se registran en el archivo XML de resultados de la prueba.
Pruebas API de plataforma Pruebe las API de la plataforma (bibliotecas principales y marco de aplicación de Android) como se documenta en el SDK Class Index para garantizar la corrección de la API, incluidas las firmas correctas de clase, atributo y método, el comportamiento correcto del método y las pruebas negativas para garantizar el comportamiento esperado para el manejo incorrecto de parámetros.
Pruebas Dalvík Las pruebas se centran en probar el formato ejecutable de Dalvik.
Modelo de datos de plataforma El CTS prueba el modelo de datos de la plataforma central expuesto a los desarrolladores de aplicaciones a través de proveedores de contenido, como se documenta en el paquete SDK android.provider : contactos, navegador, configuración, etc.
Intenciones de la plataforma El CTS prueba las intenciones de la plataforma central, como se documenta en SDK Available Intents .
Permisos de plataforma El CTS prueba los permisos de la plataforma principal, como se documenta en los Permisos disponibles del SDK.
Recursos de la plataforma El CTS prueba el manejo correcto de los tipos de recursos de la plataforma central, como se documenta en SDK Tipos de recursos disponibles . Esto incluye pruebas para: valores simples, dibujables, nueve parches, animaciones, diseños, estilos y temas, y carga de recursos alternativos.