Conjunto de pruebas de compatibilidad

Compatibility Test Suite (CTS) es un conjunto de pruebas gratuito de nivel comercial utilizado por los fabricantes de dispositivos para ayudar a garantizar que sus dispositivos sean compatibles y para informar los resultados de las pruebas para validaciones. CTS está destinado a 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. La intención de CTS es revelar incompatibilidades desde el principio y garantizar que el software siga siendo compatible durante todo el proceso de desarrollo.

CTS está disponible para descargar como binario o como código fuente en el Proyecto de código abierto de Android (AOSP) . CTS se ejecuta en una máquina de escritorio y ejecuta casos de prueba directamente en dispositivos conectados o en un emulador.

CTS contiene dos componentes de software principales:

  • El arnés de prueba de Trade Federation se ejecuta en su computadora de escritorio y administra la ejecución de la prueba. Trade Federation 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.

Verificador de conjunto de pruebas de compatibilidad (verificador CTS)

El Compatibility Test Suite Verifier (CTS Verifier) ​​es un complemento de CTS disponible para descargar . El 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 CTS Verifier 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

flujo CTS

Figura 1. Cómo utilizar 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

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.

Cobertura de prueba unitaria

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.