Firebase Test Lab te permite probar tu app en diversos dispositivos y configuraciones. En esta guía de introducción, se proporcionan una ruta de implementación que puedes seguir y una introducción a las ofertas de Test Lab para Android.
Si necesitas información sobre las cuotas y los planes de precios de Test Lab, consulta el artículo sobre uso, cuotas y precios.
Conceptos clave
Cuando ejecutas una prueba o un conjunto de casos de prueba con los dispositivos y las configuraciones 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.
Paso 1: Prepara la prueba para subirla a Test Lab
Tipos de pruebas disponibles
Puedes ejecutar las siguientes pruebas con Test Lab. Ten en cuenta que todos los tipos de prueba tienen un límite de ejecución de 45 minutos en dispositivos físicos y 60 minutos en dispositivos virtuales. Cualquier excepción no detectada generará un error en la prueba.
Prueba de instrumentación o prueba de unidades instrumentadas: Es una prueba escrita con los frameworks Espresso o UI Automator. Con esta prueba, puedes realizar aserciones explícitas sobre el estado de tu app para verificar la funcionalidad correcta con las API de AndroidJUnitRunner.
Consulta Comienza a realizar pruebas de instrumentación si necesitas instrucciones para preparar la prueba y ejecutarla en Test Lab.
Consulta la documentación para desarrolladores de Android a fin de obtener instrucciones para compilar una prueba de instrumentación.
Prueba Robo: Es una prueba automatizada que analiza la IU de tu app y, luego, la explora de manera metódica, ya que simula actividades del usuario sin necesidad de que escribas código. Consulta Primeros pasos con las pruebas Robo para obtener más información.
Prueba de bucle de juego: Es una prueba que usa un “modo de demostración” para simular las acciones del jugador en las apps de videojuegos. Esta es una manera rápida y escalable de verificar que tu juego funcione bien para los usuarios. Cuando eliges ejecutar una prueba de bucle de juego, puedes hacer lo siguiente:
Escribir pruebas nativas de tu motor de juegos
Evitar escribir el mismo código para diferentes IU o frameworks de prueba
De manera opcional, crear varios bucles para que se ejecuten en una única ejecución de prueba (consulta Comienza a realizar pruebas de bucle de juego para obtener más información). También puedes organizar los bucles con etiquetas para hacer un seguimiento de ellos y volver a ejecutar bucles específicos
Consulta Ejecutar una prueba de bucle de juego si necesitas instrucciones para ejecutar esta prueba con Test Lab.
Herramientas para ejecutar la prueba
Puedes elegir las siguientes herramientas para ejecutar tu prueba:
Opción recomendada para usuarios nuevos: Firebase console te permite subir una app y comenzar pruebas desde el navegador web. Consulta Comienza a realizar pruebas con Firebase console si necesitas instrucciones para ejecutar pruebas con esta herramienta.
La integración en Android Studio te permite probar tu app sin salir del entorno de desarrollo. Consulta Ejecuta pruebas con Android Studio si necesitas instrucciones para ejecutar pruebas con esta herramienta.
La interfaz de línea de comandos de gcloud te permite ejecutar pruebas desde la línea de comandos de forma interactiva. Además, funciona bien con las secuencias de comandos como parte de tu proceso de compilación y prueba automáticos. Consulta Comienza a realizar pruebas con la CLI de gcloud si necesitas instrucciones para ejecutar pruebas con esta herramienta.
También puedes probar tu app sin costo con Test Lab cuando subes y publicas los archivos APK de tu app en Play Store con los canales alfa o beta. Si necesitas más información, consulta Usa los informes previos al lanzamiento para identificar problemas y la información sobre las pruebas Robo.
Paso 2: Elige el dispositivo de prueba
Test Lab admite pruebas en varias marcas y modelos de dispositivos Android que están instalados y se ejecutan en un centro de datos de Google. Las pruebas realizadas en dispositivos de Test Lab te ayudan a detectar problemas que podrían no ocurrir cuando pruebas tu app con emuladores en Android Studio. Para obtener más información, consulta los dispositivos disponibles.
Paso 3: Revisa los resultados de la prueba
Sin importar cómo inicies tus pruebas, Test Lab administra todos los resultados y te permite verlos en línea.
El resumen de resultados de la prueba se almacena automáticamente y se puede ver en Firebase console. Contiene los datos más pertinentes para tu prueba, incluidos videos específicos de casos de prueba, capturas de pantalla y la cantidad de pruebas superadas, fallidas o que recibieron resultados no concluyentes, entre otros.
Los resultados de prueba sin procesar contienen registros de prueba y detalles de fallas de la app, y se almacenan automáticamente en un bucket de Google Cloud. Si especificas un bucket, eres responsable del costo del almacenamiento. Si no especificas un bucket, Test Lab crea uno sin costo para ti.
Para obtener más detalles, consulta Analiza los resultados de Firebase Test Lab.
Cuando inicias una prueba desde Android Studio, también puedes revisar los resultados en el entorno de desarrollo.
Limpieza de los dispositivos
En Google, tomamos muy en serio la seguridad de los datos de tus apps. Seguimos las prácticas recomendadas estándar de la industria para quitar datos de las apps y restablecer la configuración del sistema en los dispositivos físicos después de cada ejecución de prueba a fin de garantizar que estén listos para ejecutar nuevas pruebas. Para los dispositivos en los que podemos escribir en la memoria flash una imagen de recuperación personalizada, lo hacemos entre distintas ejecuciones de pruebas como medida de seguridad adicional.
En el caso de los dispositivos virtuales de Test Lab, las instancias de dispositivos se borran después de usarse, de manera que cada ejecución de prueba utiliza una nueva instancia de dispositivo virtual.
Servicios de Google Play y Test Lab
Por lo general, los dispositivos de Test Lab se ejecutan en la versión más reciente del SDK de Servicios de Google Play, pero algunos pueden requerir algunos días para actualizarse después de la actualización de una nueva versión del SDK. Ten en cuenta que es posible que encuentres problemas de compatibilidad con algunos dispositivos.
Permite que los dispositivos de prueba accedan a los servidores de backend privados
Algunas apps para dispositivos móviles deben comunicarse con servicios de backend privados a fin de funcionar correctamente durante la prueba. Si tus servidores de backend están protegidos por reglas de firewall, puedes permitir el acceso de los dispositivos físicos y virtuales de Test Lab mediante los bloques de direcciones IP que se indican a continuación para abrir rutas en tu firewall.
Publicidad para dispositivos móviles
Test Lab proporciona una infraestructura escalable que automatiza las pruebas de apps y, lamentablemente, a esta función la pueden utilizar de forma inadecuada aplicaciones maliciosas diseñadas para generar ingresos por anuncios fraudulentos.
Haz lo siguiente para mitigar este problema:
Si usas proveedores de publicidad digital de terceros (por ejemplo, redes de publicidad o plataformas orientadas a la demanda) o trabajas con ellos, te recomendamos usar anuncios de prueba en lugar de anuncios reales durante el desarrollo y las pruebas de la app.
Si debes usar anuncios reales en tu prueba, notifica a los proveedores de publicidad digital con los que trabajas para que filtren los ingresos y todo el tráfico correspondiente generado en Test Lab con los bloques de direcciones IP que se indican a continuación. No es necesario que notifiques a los proveedores de anuncios que pertenecen a Google. Test Lab se encarga de eso.
Direcciones IP que usan los dispositivos de Test Lab
Todo el tráfico de red generado por dispositivos de Test Lab se origina desde los
siguientes
bloques de direcciones IP.
También puedes acceder a la lista con el
comando
gcloud beta firebase test ip-blocks list
en la CLI de gcloud. La lista se actualiza en
promedio una vez al año.
Plataforma y tipo de dispositivo | Bloque CIDR de direcciones IP |
---|---|
Dispositivos físicos de iOS y Android, dispositivos virtuales ARM |
70.32.128.0/19 (agregado en febrero de 2022) 108.177.6.0/23 108.177.18.192/26 (agregado en febrero de 2022) 108.177.29.64/27 (expandido en febrero de 2022) 108.177.31.160/27 (agregado en febrero de 2022) 199.36.156.8/29 (agregado en febrero de 2022) 199.36.156.16/28 (agregado en febrero de 2022) 209.85.131.0/27 (agregado en febrero de 2022) 2001:4860:1008::/48 (agregado en febrero de 2022) 2001:4860:1018::/48 (agregado en febrero de 2022) 2001:4860:1019::/48 (agregado en febrero de 2022) 2001:4860:1020::/48 (agregado en febrero de 2022) 34.68.194.64/29 (agregado en feb‑2022) |
Dispositivos virtuales de Android (no ARM) |
34.68.194.64/29 (agregado en noviembre de 2019) 34.69.234.64/29 (agregado en noviembre de 2019) 34.73.34.72/29 (agregado en noviembre de 2019) 34.73.178.72/29 (agregado en noviembre de 2019) 34.74.10.72/29 (agregado en febrero de 2022) 34.136.2.136/29 (agregado en febrero de 2022) 34.136.50.136/29 (agregado en febrero de 2022) 34.145.234.144/29 (agregado en febrero de 2022) 35.192.160.56/29 35.196.166.80/29 35.196.169.240/29 35.203.128.0/28 35.234.176.160/28 35.243.2.0/27 (agregado en julio de 2019) 35.245.243.240/29 (agregado en febrero de 2022) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |
Ya no se usan los bloqueos de IP del dispositivo |
74.125.122.32/29 (se quitó en febrero de 2022) 216.239.44.24/29 (se quitó en febrero de 2022) |