Preguntas frecuentes sobre CTS

El Programa de Compatibilidad de Android es el impulsor clave para mantener los comentarios positivos para el ecosistema de Android. CTS es la herramienta clave para garantizar la calidad de la compatibilidad en la báscula. El equipo de Android continúa mejorando la herramienta CTS y la cobertura de pruebas. La adición regular de casos de prueba tiene una mejora significativa en la calidad de los dispositivos compatibles.

Preguntas generales

Esta sección proporciona preguntas frecuentes generales sobre CTS.

¿Qué tipo de cosas prueba el CTS?

El CTS prueba que todas las API de tipo seguro de Android compatibles estén presentes y se comporten correctamente. El CTS también prueba otros comportamientos del sistema que no son API, como el ciclo de vida y el rendimiento de la aplicación.

¿Cómo se licencia el CTS?

El CTS tiene la misma licencia de software Apache 2.0 que utiliza la mayor parte de Android.

¿Los códecs son verificados por CTS?

Sí. Todos los códecs obligatorios son verificados por CTS.

Preguntas específicas del examen

Esta sección proporciona preguntas frecuentes que ayudan a ejecutar pruebas CTS de manera más eficiente.

¿Cuál es la diferencia entre fragmentación CTS y fragmentación TF?

CTS Sharding y TF Sharding son planes de prueba totalmente diferentes impulsados ​​por una base de código de infraestructura de prueba diferente. Si bien el comando de ejecución es el mismo en diferentes versiones, el resultado de la fragmentación se comporta de manera diferente. CTS Sharding asigna estáticamente casos de prueba a dispositivos bajo prueba (DUT) de la siguiente manera:

TF Sharding asigna dinámicamente casos de prueba a los DUT disponibles de la siguiente manera:

¿Qué se espera de un dispositivo que admite múltiples ABI?

El dispositivo debe pasar todas las pruebas CTS y CTS Verifier para cada modo ABI que afirma admitir. Por lo tanto, es necesario ejecutar una aplicación para las ABI específicas. Las pautas para múltiples ABI son las siguientes:

  • Para CTS y CTS Verifier, existen versiones ARM y x86 para cada arquitectura. Cada uno de ellos puede admitir el modo de 32 o 64 bits.
  • Para las pruebas CTS, si un dispositivo admite ARM y x86, debe ejecutar y aprobar las pruebas CTS de ARM y x86 respectivamente.

Ver CDD 3.3.1. Interfaces binarias de aplicación para requisitos de CDD en ABI.

¿Es suficiente ejecutar una prueba solo en la ABI principal (por ejemplo, 64 bits) para reducir el tiempo de ejecución de la prueba?

No. Una aplicación de Android se ejecuta en su propio tiempo de ejecución de 32 o 64 bits. El código de máquina real, la ruta del código y el estado son diferentes entre 32 y 64. Si omite un modo, solo cubre el 50 % del ABI del dispositivo.

¿Por qué hay tantos casos de prueba reportados como No ejecutados?

Debe verificar el número de Módulo completado en lugar del número de No ejecutado .

En las versiones anteriores, los módulos CTS se informaban como Módulo completado de manera demasiado agresiva antes de completarse. Por lo tanto, se informó un número de Módulos completados sin que se completara todo el caso de prueba, incluso cuando algunos dispositivos tuvieron problemas. El nuevo método de prueba es más conservador e informa una mayor cantidad de pruebas no ejecutadas cuando ocurre un problema.

Un módulo ejecutado hasta su finalización informa Módulo no realizado en la invocación más reciente (done="false") en el informe durante lo siguiente:

  • Una prueba del módulo se vio interrumpida por un problema de conexión del dispositivo.
  • No se realizaron todas las pruebas esperadas para el módulo.
  • Reintentado (usando la opción -r/--retry ) con opciones de filtrado adicionales, como:

    • --incluir-filtro
    • --excluir-filtro
    • -t/--test (opción aún no admitida al reintentar)
    • --el tipo de reintento falló
    • --subplan

Para obtener el estado Módulo completado (done="true") para estos módulos, vuelva a intentar lo siguiente para la invocación más reciente:

run retry --retry <session_id> for Android 9 and later versions
run cts --retry <session_id> for Android 8.1 and previous versions

Un módulo ejecutado sin ninguno de los problemas mencionados anteriormente (incluso con 0 pruebas restantes) se marca como Módulo completado en el nuevo informe.

Excepciones

  • CtsNNAPITestCases tiene un problema conocido debido a la limitación de argumentos de Linux/OS. El módulo se puede volver a ejecutar de forma aislada run cts -m CtsNNAPITestCases directamente.

¿Cómo puedo evitar que la preparación del examen falle detrás del firewall corporativo?

Todos los conjuntos de pruebas automatizadas intentan descargar los archivos multimedia CTS o los archivos de lógica empresarial durante el tiempo de ejecución. En muchos entornos corporativos, lo habitual es un firewall y un proxy, lo que hace que la preparación del examen falle. Ejecute la siguiente línea o agréguela a .profile (en Ubuntu).

export JAVA_TOOL_OPTIONS='-Djava.net.useSystemProxies=true'

¿Necesito una tarjeta SIM para CTS para Secure Element?

La necesidad de una tarjeta SIM para la prueba depende de si la función es compatible con el dispositivo de prueba.

  • Si su dispositivo NO necesita admitir aplicaciones de Android que accedan a elementos seguros, ya sea en la UICC (por ejemplo, una tarjeta SIM) distribuida por los operadores de redes móviles (operadores) o integrada en el dispositivo, puede configurar el manifiesto HIDL para que no incluya el elemento HAL android.hardware.secure_element . En este caso, la API android.se.omapi.SEService.getReaders() informa una lista vacía y la prueba CTS pasa automáticamente e informa un pase para el CTS.
  • Si su dispositivo necesita admitir aplicaciones de Android que accedan a elementos seguros, ya sea en la UICC (por ejemplo, una tarjeta SIM) distribuida por los operadores de redes móviles (operadores) o integrados en el dispositivo, debe implementar el elemento seguro correctamente y probarlo. internamente. La prueba CTS para elemento seguro describe cómo prepararse para ejecutar las pruebas CTS que garantizan que el paquete API android.se.omapi agregado en Android 9 sea funcional. También recomendamos realizar pruebas adicionales por su cuenta, ya que la cobertura de la prueba CTS es mínima.

¿Dónde puedo conseguir las tarjetas SIM de CTS para Secure Element?

Puede comunicarse con su proveedor de SIM preferido.

¿Por qué aparece Orange SIM en la pantalla de bloqueo durante la ejecución de CTS con fragmentación de tokens?

El caso de prueba no comienza porque la prueba de la tarjeta SIM está bloqueada. Desactive Bloquear tarjeta SIM en **Configuración de bloqueo de tarjeta SIM antes de ejecutar CTS con fragmentación de token.