Preguntas frecuentes sobre CTS

El Programa de compatibilidad de Android es el impulsor clave para sustentar los comentarios positivos del ecosistema de Android. CTS es la herramienta clave para garantizar la calidad de la compatibilidad en la escala. El equipo de Android sigue mejorando la herramienta de CTS y la cobertura de pruebas. El de agregar casos de prueba mejoró significativamente la calidad de dispositivos compatibles.

Preguntas generales

En esta sección, se proporcionan preguntas frecuentes generales sobre el CTS.

¿Qué tipo de pruebas incluye el CTS?

El CTS comprueba que todas las APIs de tipado fuerte compatibles con Android están presentes y se comporten de forma correcta. El CTS también prueba otros sistemas que no son de API de la aplicación, como el ciclo de vida y el rendimiento de la app.

¿Cómo se otorga la licencia del CTS?

El CTS está protegido bajo la misma licencia de software Apache 2.0 que utiliza la mayor parte de Android.

¿El CTS verifica los códecs?

Sí. El CTS verifica todos los códecs obligatorios.

Preguntas específicas de la prueba

En esta sección, se proporcionan preguntas frecuentes que ayudan a ejecutar pruebas del CTS de manera más eficiente.

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

El fragmentación de CTS y el fragmentación de TF son planes de prueba totalmente diferentes con diferentes bases de código de infraestructura de prueba. Si bien el comando run es el mismo en diferentes versiones, el resultado del fragmentación se comporta de manera diferente. La fragmentación de CTS asigna de forma estática casos de prueba a los dispositivos en prueba (DUT) de la siguiente manera:

La fragmentación de TF asigna de forma dinámica casos de prueba a los DUT disponibles de la siguiente manera:

¿Qué se espera de un dispositivo que admita varias ABI?

El dispositivo debe aprobar todas las pruebas de CTS y CTS Verifier para cada modo de ABI que afirme admitir. Por lo tanto, es necesario ejecutar una app para el ABI específicas. Los lineamientos para varias ABIs son los siguientes:

  • Para el verificador del CTS y el CTS, hay versiones ARM y x86 para cada arquitectura. Cada uno de ellos admite el modo de 32 o 64 bits.
  • En el caso de las pruebas de CTS, si un dispositivo admite ARM y x86, debe ejecutar y aprobar las pruebas de CTS de ARM y x86, respectivamente.

Consulta el CDD 3.3.1. Interfaces binarias de la aplicación para los 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. Las apps para Android se ejecutan en sus propios entornos de ejecución de 32 o 64 bits. El código máquina, la ruta de acceso y el estado reales son diferentes entre 32 y 64. Si omites un modo, solo cubres el 50% de la ABI del dispositivo.

¿Por qué hay tantos casos de prueba que se informan como No ejecutados?

Debes verificar el número Module Done en lugar del número Not Executed.

En las versiones anteriores, los módulos de CTS se informaban como Module Done de forma demasiado agresiva antes de completarse. Por lo tanto, la cantidad de Módulos Listos se informó sin que se completara todo el caso de prueba, incluso cuando algunos dispositivos tuve problemas. El nuevo conjunto de pruebas es más conservador y, cuando se produce un problema, informa una mayor cantidad de pruebas Not Executed.

Un módulo que se ejecuta hasta completarse informa Module Not Done en la invocación más reciente (done="false") en el informe durante lo siguiente:

  • Se interrumpió la ejecución de prueba del módulo debido a un problema de conexión del dispositivo.
  • No se realizaron todas las ejecuciones de prueba esperadas para el módulo.
  • Se volvió a intentar (con la opción -r/--retry) con opciones de filtrado adicionales, como las siguientes:

    • --include-filter
    • --excluir-filtro
    • -t/--test (Opción aún no compatible con reintentos)
    • --reintento de tipo de error
    • --subplan

Para obtener un estado de Module Done (done="true") para estos módulos, reintenta 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 Listo 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 independiente directamente a través de run cts -m CtsNNAPITestCases.

¿Cómo puedo evitar errores en la preparación de la prueba detrás del firewall corporativo?

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

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

¿Necesito una tarjeta SIM para CTS para el Elemento seguro?

El hecho de que se necesite una tarjeta SIM para la prueba depende de la comprensión si la función es compatible con el dispositivo de prueba.

  • Si tu dispositivo NO necesita admitir el acceso de las apps para Android elementos seguros, ya sea en la UICC (por ejemplo, una tarjeta SIM) distribuida por operadores de red móvil (proveedores) o integrado en el dispositivo, puedes configurar el HIDL manifiesto para no incluir la HAL de android.hardware.secure_element . En este caso, el android.se.omapi.SEService.getReaders() La API informa una lista vacía y la prueba del CTS se realiza automáticamente pasa e informa un aprobado para el CTS.
  • Si tu dispositivo necesita admitir que las apps para Android accedan a cualquiera de de elementos seguros, ya sea en la interfaz UICC (p.ej., una tarjeta SIM) distribuida por operadores de red móvil (proveedores) o incorporadas en el dispositivo, debes implementar el Elemento seguro de forma correcta y probarlo internamente. Prueba de CTS para el Elemento seguro describe cómo prepararse para ejecutar las pruebas del CTS que garanticen android.se.omapi El paquete de API que se agregó en Android 9 es funcional. También recomendamos realizar pruebas adicionales por su cuenta, ya que la cobertura de la prueba del CTS es mínimo.

¿Dónde puedo obtener las tarjetas SIM del CTS para el Elemento seguro?

Puedes comunicarte con tu proveedor de SIM preferido.

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

El caso de prueba no se inicia porque la tarjeta SIM está bloqueada. Desactiva la opción Bloquear tarjeta SIM en **Configuración de bloqueo SIM antes la ejecución del CTS con fragmentación de tokens.