Analizar los resultados del laboratorio de pruebas de Firebase

Hay varias formas de usar Firebase Test Lab para ejecutar pruebas en tu 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 la API de pruebas . Independientemente de cómo elija iniciar sus pruebas, los resultados se almacenan en el proyecto de Firebase que especifique. Puede explorar los resultados utilizando la API ToolResults 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 pruebas 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 ha probado con su proyecto utilizando 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 haya 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 realiza 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 u, opcionalmente, fragmentar la prueba y ejecutar sus casos de prueba en diferentes dispositivos.
Matriz de prueba
Contiene los estados y 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 Laboratorio de pruebas , verá los resultados de las pruebas que ha realizado hasta el momento.

El historial de pruebas está agrupado 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 prueba 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, podría ejecutar una prueba en aproximadamente 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 los siguientes:

  • AprobadoPrueba aprobada : No se encontraron fallas.
  • FallidoPrueba fallida : Se encontró al menos una falla.
  • Poco concluyentePrueba aprobada : Los resultados de la prueba no fueron concluyentes, posiblemente debido a un error del laboratorio de pruebas.
  • SaltadoPrueba 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 las pruebas agregadas para todas las matrices de prueba de una aplicación determinada en tu proyecto de Firebase, haz 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 llevará a la lista de matrices 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 la 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 las pruebas 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 realizó Robo durante el rastreo, similar a la función 'Mostrar toques' en Android. Puede utilizar las indicaciones para seguir el progreso de Robo y reproducir cualquier error que pueda descubrir.

Ejemplo de vídeo con los resultados de la prueba de Robo

Resultados de la prueba robótica

Interpretar los resultados de una única ejecución de prueba.

Desde la página de resultados de la matriz de pruebas, haga clic en una de las ejecuciones de pruebas 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 cada ejecución de 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 Robo test , 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 fueron visitadas por Robo test.

Resultados de pruebas 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 detallado, completa con seguimientos de pila, registros y videos. Esta característica funciona independientemente de que esté utilizando 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 de 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 Accessibility Scanner .

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 realizadas en dispositivos físicos también arrojan métricas de rendimiento:

Métrico Configuración requerida del dispositivo
Hora de inicio de la aplicación API 19+
uso de CPU API 21+
Uso de memoria
Actividad de red
Cuadros por segundo API 21+ e incluye 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: la cantidad de eventos de entrada que tardaron más de 24 ms, dividida por la cantidad de fotogramas que tardaron más de 16 ms en renderizarse.
  • 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 lento: el número de veces que enviar comandos de dibujo a la GPU tardó más de 12 ms, dividido por el número de fotogramas que tardaron más de 16 ms en renderizarse.
  • 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 renderizarse.
  • Tiempo de renderizado: la distribución de los tiempos de renderizado para cada fotograma de la ejecución de prueba. Los tiempos de renderizado superiores a 32 milisegundos provocan una ralentización perceptible de la interfaz de usuario. Los tiempos de renderizado superiores a 700 indican fotogramas congelados. Los datos de renderizado se recopilan de dumpsys graphicsstats .

Resultados detallados de las pruebas

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 son visibles en Firebase console). Puede ver los resultados de las pruebas detalladas en el depósito de Cloud Storage cuando hace clic en Resultados de la prueba en la página de resultados de ejecución de la 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 de las pruebas detalladas durante más de 90 días, debes enviar estos resultados de las pruebas a un depósito de Cloud Storage de tu propiedad mediante la opción de línea de comandos de gcloud --results-bucket . Luego puede establecer la configuración de Edad para determinar durante 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 .