Google se compromete a promover la equidad racial para las comunidades negras. Ver cómo.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Prueba de plataforma de Android

Este contenido está dirigido a desarrolladores de plataformas Android. Antes de comprender cómo se realizan las pruebas en la plataforma Android, consulte la arquitectura de la plataforma Android para obtener una descripción general.

Luego profundice en las tecnologías precisas disponibles para usted en esta sección, como Vendor Test Suite (VTS) y su gran cantidad de videos y tutoriales de codelab .

También tenga en cuenta los mecanismos de prueba específicos de seguridad disponibles para detectar y fortalecer sus dispositivos contra vulnerabilidades.

Para las pruebas de aplicaciones, comience con los Fundamentos de las pruebas y realice el Codelab de pruebas de Android con las muestras proporcionadas.

Finalmente, tenga en cuenta que las pruebas básicas de envío previo están disponibles a través de Repo Hooks que pueden ejecutar linters, verificar el formato y activar pruebas unitarias antes de continuar, como cargar un commit. Tenga en cuenta que estos ganchos están deshabilitados de forma predeterminada. Vea la introducción de Repo Hooks para más detalles.

Qué y cómo evaluar

Una prueba de plataforma generalmente interactúa con uno o más de los servicios del sistema Android, o capas de Capa de abstracción de hardware (HAL), ejercita las funcionalidades del sujeto bajo prueba y afirma la corrección del resultado de la prueba.

Como tal, una prueba de plataforma puede:

  1. API de marco de ejercicio a través del marco de aplicación; Las API específicas que se ejercen pueden incluir:
    • API públicas destinadas a aplicaciones de terceros
    • API ocultas destinadas a aplicaciones privilegiadas, a saber, API del sistema
    • API privadas (@hide, o protegido, paquete privado)
  2. invocar los servicios del sistema Android a través de la carpeta sin procesar / proxies IPC directamente
  3. interactuar directamente con HAL a través de API de bajo nivel o interfaces IPC

Los tipos 1 y 2 generalmente se escriben como pruebas de instrumentación , mientras que el tipo 3 generalmente se escribe como pruebas nativas utilizando el marco gtest .

Para obtener más información, vea nuestros ejemplos de extremo a extremo:

Familiarícese con estas herramientas, ya que son intrínsecas a las pruebas en Android.

Conjunto de pruebas de compatibilidad (CTS)

Android Compatibility Test Suite es un conjunto de varios tipos de pruebas, que se utiliza para garantizar la compatibilidad de las implementaciones del marco de Android entre socios OEM y entre lanzamientos de plataformas. La suite también incluye pruebas de instrumentación y pruebas nativas (también usando gtest framework).

CTS y las pruebas de plataforma no son mutuamente excluyentes, y aquí hay algunas pautas generales:

  • Si una prueba afirma la corrección de las funciones / comportamientos de la API de marco, y debe aplicarse a los socios OEM, debe estar en CTS
  • Si una prueba está destinada a detectar regresiones durante el ciclo de desarrollo de la plataforma, y ​​puede requerir un permiso privilegiado para llevar a cabo, y puede depender de los detalles de implementación (como se publica en AOSP), solo debe ser una prueba de plataforma

Vendor Test Suite (VTS)

Vendor Test Suite (VTS) automatiza las pruebas de kernel HAL y OS. Para usar VTS para probar una implementación del sistema nativo de Android, configure un entorno de prueba y luego pruebe un parche utilizando un plan VTS.

Infraestructura de prueba de la Federación de Comercio

Trade Federation (tradefed o TF para abreviar) es un marco de prueba continuo diseñado para ejecutar pruebas en dispositivos Android. TF puede ejecutar pruebas funcionales localmente, en su escritorio, dentro del proceso de pago de su plataforma. Hay dos archivos necesarios para ejecutar una prueba en TF, una fuente de prueba de Java y una configuración XML. Consulte RebootTest.java y reboot.xml para ver ejemplos.

Depuración

La sección Depuración resume herramientas útiles y comandos relacionados para depurar, rastrear y perfilar el código nativo de la plataforma Android cuando se desarrollan características de nivel de plataforma.