logoImagina
iconCurso
Te recomendamos nuestro curso de Firebase
Descubre el curso de Firebase
Ir al curso
Tabla de contenido
¿Qué es Firebase Test Lab?
Fases de implementación
Preparar la app para ejecutar las pruebas
Elegir entorno y matriz de pruebas
Ejecutar las pruebas y medir los resultados
Tipos de Pruebas
Resultados
Tipos de Resultados
Resultados
Eventos
Resultados
Sigue aprendiendo sobre Firebase Test Lab
Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *

Firebase Test Lab: Ya puedes testar tus apps en la nube

iconImage
Publicado 2024-03-01
Actualizado el 2024-03-21

¿Qué es Firebase Test Lab?

Test Lab es una infraestructura contenida en Firebase que nos permite probar nuestra app en dispositivos ubicados en los servidores de Google. Esto nos permite cambiar la configuración de los dispositivos y ver los resultados de la ejecución de nuestra app con todas las variaciones.

De todas las pruebas, obtendremos registros, vídeos y capturas de pantalla. Además Test Lab utiliza dispositivos reales en un centro de producción. Esto permite obtener información fidedigna del rendimiento de nuestra app.

Por último, tiene como ventaja que no es necesario tener una gran batería de móviles para realizar las pruebas, cosa bastante común hace unos años.

Es un servicio freemium, es decir, si superamos una cuota concreta, deberemos cambiar de plan o pagar por uso. Puedes consultar este vídeo introductorio a Test Lab.

Fases de implementación

Las fases para hacer deploy en Test Lab son:

  • Preparar la app para ejecutar las pruebas.
  • Elegir entorno y matriz de pruebas.
  • Ejecutar las pruebas y medir los resultados.

Pasemos a detallar cada uno de estos puntos.

Preparar la app para ejecutar las pruebas

Para iOS, hemos de utilizar XCTest y para Android podemos utilizar Espresso y UI Automator 2.0.

Gracias a estos frameworks, podremos realizar pruebas unitarias y pruebas de interfaz, emulando el comportamiento del usuario.

Elegir entorno y matriz de pruebas

  • Dimensiones de prueba: atributos del dispositivo con los que realizas pruebas para tu app, como el modelo del dispositivo, la versión de SO, la configuración regional y la orientación de la pantalla.
  • Ejecuciones de prueba: ejecuciones de pruebas individuales. Cada una tiene una combinación única de las dimensiones seleccionadas.
  • Matriz de prueba: los resultados de las ejecuciones de la prueba en las dimensiones seleccionadas. Si una ejecución de prueba falla en la matriz,Test Lab considera que toda la matriz falló.

Ejecutar las pruebas y medir los resultados

Tendremos 3 alternativas:

  • Utilizar Android Studio para probar nuestra app desde el entorno de programación.
  • Usar la interfaz de línea de comandos de gcloud y ejecutar pruebas desde la línea de comandos de forma interactiva. Se pueden lanzar comandos y pruebas automáticas.
  • La IU de Test Lab en Firebase console nos permite subir un ejecutable de la app e iniciar pruebas desde el navegador.
Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *

Tipos de Pruebas

Existen tres tipos de pruebas

  • Pruebas de instrumentación
  • Pruebas Robo
  • Pruebas de Bucle de Juego

Dependiendo del tipo de nuestra aplicación, elegiremos un tipo u otro.

Pruebas de instrumentación

Son pruebas unitarias que se realizan en dispositivos físicos o virtuales, pero sin necesidad de que tengamos el móvil en modo desarrollo.

No obstante, son pruebas mucho más lentas que las que se pueden hacer en local, porque conllevan un análisis más profundo del contexto del dispositivo.

Android Studio y Matriz de Ejecución

Test hecho en Android Studio

Resultado de la prueba

Resultado de prueba en Android Studio

Pruebas Robo

Robo test analiza la estructura de la interfaz nuestra app y la explora de manera metódica y automática, simulando las acciones de los usuarios.

A diferencia de UI/Application Exerciser Monkey test, Robo test siempre simula las acciones del usuario en el mismo orden, con lo que la ejecución en varios dispositivos siempre tendrá una relación. Esto hace que Robo test encuentre errores que pueden ocurrir al cambiar el tamaño de la pantalla o dependan de las características del dispositivo.

Pruebas de Bucle de Juego

Es un framework que nos ofrece Firebase para poder probar los juegos que desarrollemos.

Para ello, hemos de describir exactamente el comportamiento (a nivel de código) que queramos que tenga la ejecución y a partir de ahí, se lanzará el juego en modo automático.

Resultados

Podemos utilizar la interfaz de Test Lab para analizar los resultados de nuestras pruebas.

Para ello, accederemos a la sección de Test Lab dentro de la consola de Firebase.

Opción Test Lab dentro de la consola de Firebase

Tipos de Resultados

Hay cuatro tipos de resultados en Test Lab:

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

Resultados

Veremos una serie de pruebas dentro de esa sección. Primero seleccionaremos la app cuyas pruebas queramos visualizar.

Vista de las pruebas realizadas

Seleccionaremos cualquier matriz de resultados.

Vista de la matriz de resultados

En este caso, todos las pruebas se han ejecutado correctamente.

También podemos encontrarnos con errores.

Errores en la matriz de resultados

Al hacer click en cualquier ejecución, veremos una serie de detalles sobre la prueba.

Detalles de la prueba con error

Eventos

Para poder enlazar los eventos de errores con Cloud Functions, disponemos de IssueBuilder, que nos permite registrar 3 tipos de eventos:

  • onNew. Cuando aparece un error nuevo.
  • onRegressed. Cuando reaparece un error que supuestamente ya se había resuelto.
  • onVelocityAlert. Cuando un error ocurre de una forma más frecuente que en compilaciones anteriores.

Resultados

Nos encontraremos con:

  • Problemas detectados durante la prueba (en caso de error)
  • Resultados (en el caso que nuestra prueba recopile información).
  • Descripción de la prueba de Robo.
  • Valores de los registros de la prueba.
  • Capturas de pantalla realizadas por la prueba.
  • Vídeos realizados de la prueba.
  • Y el análisis de Rendimiento de la ejecución.

Métricas de Rendimiento

  • Hora de inicio de la app
  • Uso de CPU
  • Uso de memoria
  • Actividad de la red
  • Fotogramas por segundo
  • Estadísticas gráficas

Sigue aprendiendo sobre Firebase Test Lab

Si quieres seguir formándote, te recomendamos que consultes la página de nuestro curso especializado en Firebase.

Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient