Analiza los resultados de Firebase Test Lab

Existen varias formas de usar Firebase Test Lab para ejecutar pruebas en tu app para Android, incluida la interfaz de línea de comandos, Android Studio, la IU de Test Lab en Firebase console y la API de Testing. Sin importar cómo decidas comenzar las pruebas, los resultados se almacenan en el proyecto de Firebase que especifiques. Puedes explorar los resultados con la API de ToolResults y con cualquiera de las herramientas que se mencionaron antes. En esta página, se describe cómo revisar y analizar los resultados.

Conceptos clave

Para ver los resultados de todas las ejecuciones de pruebas anteriores, selecciona Test Lab en el panel de navegación izquierdo del proyecto en Firebase console. Esta página muestra todas las ejecuciones de pruebas de las apps que probaste con tu proyecto en Test Lab.

Antes de revisar los resultados de las pruebas, es necesario que comprendas tres conceptos:

Cuando ejecutas una prueba o un conjunto de casos de prueba con los dispositivos y parámetros de configuración que seleccionaste, Test Lab ejecuta la prueba en tu app en un lote y muestra los resultados como una matriz de pruebas.

Dispositivos × ejecuciones de prueba = matriz de pruebas

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

En las siguientes secciones, se explica cómo navegar por los resultados de las pruebas.

Interpreta los resultados del historial de pruebas

Cuando seleccionas Test Lab para navegar a los resultados de pruebas, verás los resultados de las pruebas ejecutadas hasta el momento.

El historial de pruebas se agrupa por aplicación. Solo se muestran las cinco matrices de pruebas más recientes de cada app. Si hay más disponibles, puedes hacer clic en el vínculo All Matrices, en la parte inferior de la lista de pruebas de la app para ver la lista completa.

Interpreta los resultados de las matrices de prueba

Cuando comiences una prueba en la IU de Test Lab, se te redireccionará a una página donde puedes ver la matriz de prueba y hacer clic en una ejecución de prueba específica para ver sus resultados. Android Studio y el comando de gcloud también proporcionan una URL para la página de resultados de la matriz de pruebas.

En una matriz de prueba común, puedes ejecutar una prueba en una decena de dispositivos diferentes o más. Cada ejecución de prueba puede tener un resultado diferente. Los resultados posibles para cada ejecución de prueba en una matriz de pruebas incluyen los siguientes:

  • Correcta Prueba correcta: No se encontraron errores.
  • Con errores Prueba con errores: Se encontró al menos un error.
  • No concluyente Prueba correcta: Los resultados de la prueba no fueron concluyentes, posiblemente debido a un error de Test Lab.
  • Omitida Prueba correcta: Los valores de dimensión seleccionados para algunas ejecuciones de prueba de la matriz no eran compatibles. Esto ocurre cuando los dispositivos seleccionados son incompatibles con uno o más de los niveles de API de Android que seleccionaste.

Para revisar los resultados de prueba totales de todas las matrices de pruebas de una app determinada de tu proyecto de Firebase, haz clic en el nombre de la app, como se muestra en el siguiente ejemplo:

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

Esta acción te lleva a la lista de matrices de pruebas de la app, en la que puedes hacer clic en el nombre de cualquier matriz para ver sus resultados. También puedes hacer clic en el nombre de la app (que se indica en el cuadro rojo de más abajo) para ver la lista de matrices de pruebas de otras apps asociadas con el proyecto de Firebase.

Ejemplo de página de lista de matrices de pruebas Lista de matrices de pruebas

Una matriz de pruebas puede estar correcta, tener errores o no ser concluyente. Una matriz de pruebas tiene errores o no es concluyente si alguna de sus ejecuciones de pruebas falla o no es concluyente.

Interpreta los resultados de prueba Robo

Si ejecutas tus pruebas con Robo, los resultados incluirán videos y capturas de pantalla del rastreo de tu IU que realizó Robo, además de las métricas de prueba habituales. En esos videos y capturas de pantalla, se incluyen indicaciones visuales de las acciones que Robo llevó a cabo durante el rastreo, de manera similar a la función "Mostrar toques" de Android. Estas indicaciones te ayudarán a repetir los pasos que siguió Robo para que puedas reproducir los errores que se hayan encontrado.

Ejemplo de video con resultados de prueba Robo

Resultados de prueba Robo

Interpreta los resultados de una única ejecución de prueba

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

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

En esta página, puedes ver el tiempo que tardó cada ejecución de prueba. También puedes ver los resultados de casos de prueba específicos que corresponden a los métodos de tu APK de prueba (en el caso de las pruebas de instrumentación) y los resultados detallados de las pruebas, como los registros, las capturas de pantalla y los videos. En las pruebas Robo, los resultados detallados de las pruebas también incluyen un mapa de actividad con una representación gráfica de las rutas de acceso de la IU que visitó la prueba Robo.

Resultados de prueba de instrumentación particionada

Para ayudarte a interpretar los resultados de prueba de instrumentación, Test Lab separa cada prueba en su propia página de informes detallados, que incluye seguimientos de pila, registros y videos. Esta función se ejecuta sin importar si usas Android Orchestrator.

Ejemplo de página de resultados de casos de prueba Resultados de casos de prueba

Interpreta los resultados de accesibilidad

Las pruebas Robo usan la Prueba de accesibilidad de Android para detectar problemas de accesibilidad en tu app (ten en cuenta que también puedes ejecutar un análisis de forma local en tu dispositivo). Consulta el artículo Primeros pasos con Prueba de accesibilidad a fin de obtener instrucciones para revisar y, luego, interpretar los resultados de accesibilidad de tu prueba Robo.

Consulta la documentación de accesibilidad para desarrolladores de Android a fin de obtener información general para mejorar la accesibilidad de tu app.

Métricas de rendimiento

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

MétricaConfiguración necesaria del dispositivo
Tiempo de inicio de la appAPI 19+
Uso de CPUAPI 21+
Uso de memoria
Actividad de la red
Fotogramas por segundoAPI 21+, incluye una SurfaceView
Rendimiento de gráficosAPI 23+

Detalles de rendimiento de gráficos

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

  • Sincronizaciones verticales perdidas: La cantidad de eventos de sincronizaciones verticales perdidas, dividida por la cantidad de marcos que tardaron más de 16 ms en procesarse
  • 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 procesarse
  • Subproceso de IU lento: La cantidad de veces que el subproceso de IU tardó más de 8 ms para finalizar, dividida por la cantidad 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 tardó más de 12 ms, dividida por la cantidad de fotogramas que tardaron más de 16 ms en procesarse
  • Cargas de mapas de bits lentas: La cantidad de veces que el mapa de bits tardó más de 3.2 ms en subirse a la GPU, dividida por la cantidad de marcos que tardaron más de 16 ms en procesarse
  • Tiempo de procesamiento: La distribución de los tiempos de procesamiento para cada marco de la prueba ejecutada. Los tiempos de procesamiento superiores a 32 milisegundos provocan una demora perceptible de la IU y los superiores a 700 indican fotogramas congelados. Los datos de procesamiento se recopilan de dumpsys graphicsstats

Resultados detallados de la prueba

Los resultados detallados de la prueba están disponibles durante 90 días después de ejecutar una prueba y se almacenan en un bucket de Google Cloud Storage, pero también se pueden ver en Firebase console. Para ver los resultados de prueba detallados en el bucket de Cloud Storage, haz clic en Resultados de la prueba en la página de resultados de la ejecución de prueba. Cuando los resultados de prueba detallados dejan de estar disponibles, puedes seguir viendo qué pruebas se realizaron correctamente o cuáles fallaron.

Para conservar los resultados detallados de las pruebas por más de 90 días, debes enviarlos a uno de tus buckets de Cloud Storage con la opción --results-bucket de la línea de comandos de gcloud. A continuación, puedes configurar el parámetro Age para determinar por cuánto tiempo se almacenan los resultados en el bucket de Cloud Storage. Consulta las Condiciones del ciclo de vida para obtener información sobre cómo cambiar la configuración de Age.