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.
Las fases para hacer deploy en Test Lab son:
Pasemos a detallar cada uno de estos puntos.
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.
Tendremos 3 alternativas:
Existen tres tipos de pruebas
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
Resultado de la prueba
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.
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.
Hay cuatro tipos de resultados en Test Lab:
Veremos una serie de pruebas dentro de esa sección. Primero seleccionaremos la app cuyas pruebas queramos visualizar.
Seleccionaremos cualquier matriz de resultados.
En este caso, todos las pruebas se han ejecutado correctamente.
También podemos encontrarnos con errores.
Al hacer click en cualquier ejecución, veremos una serie de detalles sobre la prueba.
Para poder enlazar los eventos de errores con Cloud Functions, disponemos de IssueBuilder, que nos permite registrar 3 tipos de eventos:
Nos encontraremos con:
Métricas de Rendimiento
Si quieres seguir formándote, te recomendamos que consultes la página de nuestro curso especializado en Firebase.