Compatibility Test Suite (CTS) es un conjunto de pruebas gratuito y de calidad comercial, disponible para descargar como binario o como fuente en el Android Open Source Project (AOSP) . El CTS representa el "mecanismo" de 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ñadas para integrarse en el flujo de trabajo diario (por ejemplo, a través de un sistema de construcción continua) de los ingenieros que construyen un dispositivo. Su intención es revelar 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 automatizadas que utiliza dos componentes de software principales:
- El arnés de prueba de CTS Trade Federation se ejecuta en su máquina de escritorio y gestiona la ejecución de la prueba. Ofrece la posibilidad de fragmentar pruebas en múltiples dispositivos bajo prueba (DUT). También puede utilizar la función de reintento del conjunto para reintentar solo los fallos en lugar de los conjuntos completos, 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 Compatibility Test Suite Verifier (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 y acelerómetro) o posicionamiento manual.
CTS Verifier es una herramienta para pruebas manuales e incluye los siguientes componentes de software:
La aplicación de verificación CTS que se ejecuta en el DUT (y en un segundo dispositivo para los requisitos de medición de distancia) y recopila los resultados.
Los ejecutables o scripts 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
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 pruebas de robustez prueban la durabilidad del sistema bajo tensión.
- Las pruebas de rendimiento comparan el rendimiento del sistema con 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 firmas 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 aplicaciones de Android) como se documenta en el índice de clases del SDK para garantizar la corrección de la API, incluidas las firmas correctas de clases, atributos y métodos, el comportamiento correcto de los métodos y las pruebas negativas para garantizar el comportamiento esperado en caso de manejo incorrecto de parámetros. |
Pruebas de Dalvik | Las pruebas se centran en probar el formato ejecutable 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 principal, como se documenta en las intenciones disponibles del SDK. |
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 principal, como se documenta en Tipos de recursos disponibles del SDK. Esto incluye pruebas de: valores simples, elementos de diseño, nueve parches, animaciones, diseños, estilos y temas, y carga de recursos alternativos. |