Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Analizar los resultados del laboratorio de pruebas de Firebase

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Hay varias formas de usar Firebase Test Lab para ejecutar pruebas en su aplicación de Android, incluida la interfaz de línea de comandos , Android Studio , la interfaz de usuario de Test Lab en Firebase console y Testing API . Independientemente de cómo elija comenzar sus pruebas, los resultados se almacenan en el proyecto de Firebase que especifique. Puede explorar los resultados utilizando ToolResults API además de cualquiera de las herramientas anteriores. Esta página describe cómo revisar y analizar los resultados de estas pruebas.

Conceptos clave

Para ver los resultados de todas sus ejecuciones de prueba anteriores, seleccione Test Lab en el panel de navegación izquierdo de su proyecto en Firebase console. Esta página muestra todas las ejecuciones de prueba de las aplicaciones que probó con su proyecto mediante Test Lab.

Para revisar los resultados de las pruebas, primero debe comprender tres conceptos:

Cuando ejecuta una prueba o un conjunto de casos de prueba en dispositivos y configuraciones que ha seleccionado, Test Lab ejecuta la prueba en su aplicación en un lote y luego muestra los resultados como una matriz de prueba .

Dispositivos × Ejecuciones de prueba = Matriz de prueba

Dispositivo
Un dispositivo físico o virtual (solo Android) en el que ejecuta una prueba, como un teléfono, una tableta o un dispositivo portátil. Los dispositivos en una matriz de prueba se identifican por modelo de dispositivo, versión del sistema operativo, orientación de la pantalla y configuración regional (también conocida como configuración geográfica y de idioma).
Prueba, ejecución de prueba
Una prueba (o un conjunto de casos de prueba) que se ejecutará en un dispositivo. Puede ejecutar una prueba por dispositivo o, opcionalmente, fragmentar la prueba y ejecutar sus casos de prueba en diferentes dispositivos.
Matriz de prueba
Contiene los estados y los resultados de las pruebas para sus ejecuciones de pruebas. Si falla alguna ejecución de prueba en una matriz, falla toda la matriz.

Las siguientes secciones explican cómo navegar por los resultados de las pruebas.

Interpretar los resultados del historial de pruebas

Cuando navega a los resultados de su prueba seleccionando Test Lab , ve los resultados de las pruebas que ha ejecutado hasta el momento.

El historial de pruebas se agrupa por aplicación. Solo se muestran las cinco matrices de prueba más recientes para cada aplicación; si hay más disponibles, puede hacer clic en el enlace Todas las matrices en la parte inferior de la lista de pruebas de la aplicación para ver la lista completa de esa aplicación.

Interpretar los resultados de la matriz de prueba

Al iniciar una prueba a través de la interfaz de usuario de Test Lab , se le redirige a una página donde puede ver su matriz de prueba y hacer clic en una ejecución de prueba específica para ver los resultados de la prueba. Android Studio y el comando gcloud también proporcionan una URL para la página de resultados de la matriz de prueba.

En una matriz de prueba típica, puede ejecutar una prueba en una docena de dispositivos diferentes. Cada ejecución de prueba puede tener un resultado diferente. Los posibles resultados para cualquier ejecución de prueba en una matriz de prueba incluyen lo siguiente:

  • PasóPrueba aprobada : No se encontraron fallas.
  • Ha falladoPrueba fallida : Se encontró al menos un error.
  • Poco concluyentePrueba aprobada : Los resultados de las pruebas no fueron concluyentes, posiblemente debido a un error del laboratorio de pruebas.
  • omitidoPrueba aprobada : Los valores de dimensión seleccionados para algunas ejecuciones de prueba en la matriz eran incompatibles. Esto ocurre cuando los dispositivos que seleccionó son incompatibles con uno o más de los niveles de API de Android que seleccionó.

Para revisar los resultados de prueba agregados de todas las matrices de prueba para una aplicación determinada en su proyecto de Firebase, haga clic en el nombre de la aplicación, como se muestra en el siguiente ejemplo:

Ejemplo de página de resultados de matriz de prueba con solo cuatro ejecuciones de prueba Resultados de la matriz de prueba

Esto lo lleva a la lista de matriz de prueba para su aplicación, donde puede hacer clic en el nombre de cualquier matriz de prueba para ver los resultados de la matriz de prueba, y donde puede hacer clic en el nombre de la aplicación (que se muestra en el cuadro rojo a continuación) para ver el lista de matriz de prueba para otras aplicaciones asociadas con su proyecto de Firebase.

Ejemplo de página de lista de matriz de prueba Lista de matrices de prueba

Una matriz de prueba puede pasar, fallar o no ser concluyente. Una matriz de prueba se muestra como fallida o no concluyente si alguna ejecución de prueba en esa matriz falla o no es concluyente.

Interpretar los resultados de la prueba de Robo

Si ejecutó sus pruebas con Robo, sus resultados incluyen videos y capturas de pantalla de Robo rastreando su interfaz de usuario, además de las métricas de prueba habituales. Esos videos y capturas de pantalla incluyen indicaciones visuales de las acciones que Robo tomó durante el rastreo, similar a la función 'Mostrar toques' en Android. Puede usar las indicaciones para ayudarlo a seguir el progreso de Robo y reproducir cualquier error que pueda descubrir.

Video de ejemplo de resultados de prueba de Robo

Resultados de la prueba robótica

Interprete los resultados de una sola ejecución de prueba

Desde la página de resultados de la matriz de prueba, haga clic en una de las ejecuciones de prueba para ver el resultado de esa ejecución de prueba específica.

Ejemplo de página de resultados de ejecución de prueba Resultados de la ejecución de la prueba

En esta página, puede ver el tiempo requerido para la ejecución de cada prueba. También puede ver los resultados de casos de prueba específicos que corresponden a métodos en su APK de prueba (para pruebas de instrumentación) y resultados de prueba detallados, incluidos registros de prueba, capturas de pantalla y videos. Para la prueba de Robo , los resultados detallados de la prueba también incluyen un mapa de actividad que muestra gráficamente las rutas de la interfaz de usuario que visitó la prueba de Robo.

Resultados de la prueba de instrumentación particionada

Para ayudarlo a interpretar los resultados de las pruebas instrumentadas, Test Lab separa cada prueba en su propia página de informe detallada, completa con seguimientos de pila, registros y videos. Esta característica funciona ya sea que esté usando Android Orchestrator o no.

Ejemplo de página de resultados de caso de prueba Resultados del caso de prueba

Interpretar los resultados de accesibilidad

Las pruebas Robo utilizan el Escáner de accesibilidad de Android para detectar problemas de accesibilidad en su aplicación (tenga en cuenta que también puede ejecutar un escaneo localmente en su dispositivo). Para obtener instrucciones sobre cómo revisar e interpretar los resultados de accesibilidad de su prueba Robo, visite Comenzar con el Escáner de accesibilidad .

Para obtener información general sobre cómo mejorar la accesibilidad de su aplicación, visite la documentación de Accesibilidad para desarrolladores de Android .

Métricas de rendimiento

Las pruebas que se ejecutan en dispositivos físicos también arrojan métricas de rendimiento:

Métrico Configuración de dispositivo requerida
Hora de inicio de la aplicación API 19+
uso de CPU API 21+
Uso de memoria
actividad de la red
Cuadros por segundo API 21+ e incluye un SurfaceView
Rendimiento de gráficos API 23+

Detalles de rendimiento de gráficos

El informe de rendimiento de gráficos contiene estadísticas sobre varias métricas de gráficos clave:

  • Vsync perdido: el número de eventos Vsync perdidos, dividido por el número de fotogramas que tardaron más de 16 ms en renderizarse.
  • Latencia de entrada alta: el número de eventos de entrada que tardaron más de 24 ms, dividido por el número de fotogramas que tardaron más de 16 ms en procesarse.
  • Subproceso de interfaz de usuario lento: el número de veces que el subproceso de interfaz de usuario tardó más de 8 ms en completarse, dividido por el número de fotogramas que tardaron más de 16 ms en procesarse.
  • Comandos de dibujo lentos: la cantidad de veces que el envío de comandos de dibujo a la GPU tomó más de 12 ms, dividido por la cantidad de fotogramas que tardaron más de 16 ms en procesarse.
  • Cargas lentas de mapas de bits: el número de veces que el mapa de bits tardó más de 3,2 ms en cargarse en la GPU dividido por el número de fotogramas que tardaron más de 16 ms en procesarse.
  • Tiempo de renderizado: la distribución de los tiempos de renderizado para cada fotograma de la ejecución de la prueba. Los tiempos de procesamiento superiores a 32 milisegundos provocan una ralentización perceptible de la interfaz de usuario. Los tiempos de renderizado de más de 700 indican fotogramas congelados. Los datos de renderizado se obtienen de dumpsys graphicsstats .

Resultados detallados de la prueba

Los resultados detallados de las pruebas están disponibles durante 90 días después de ejecutar una prueba y se almacenan en un depósito de Google Cloud Storage (pero también están visibles en la consola de Firebase). Puede ver resultados de prueba detallados en el depósito de Cloud Storage cuando hace clic en Resultados de prueba en la página de resultados de ejecución de prueba. Cuando los resultados detallados de las pruebas ya no estén disponibles, aún puede ver qué pruebas pasaron o fallaron.

Para conservar los resultados detallados de las pruebas durante más de 90 días, debe enviar estos resultados a un depósito de Cloud Storage de su propiedad mediante la opción de línea de comandos --results-bucket gcloud . Luego puede establecer la configuración de Edad para determinar cuánto tiempo se almacenan los resultados en su depósito de Cloud Storage. Consulte Condiciones del ciclo de vida para obtener información sobre cómo cambiar la configuración de edad .