Firebase Test Lab te permite probar tu aplicación en una variedad de dispositivos y configuraciones. Esta guía de introducción proporciona una ruta de implementación que debe seguir, así como una introducción a las ofertas de Android de Test Lab.
Para obtener información sobre las cuotas y los planes de precios de Test Lab, consulte Uso, cuotas y precios .
Conceptos clave
Cuando ejecuta una prueba o un conjunto de casos de prueba en dispositivos y configuraciones que ha 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.
Paso 1 : Prepare su prueba para cargarla en Test Lab
Tipos de prueba disponibles
Puede ejecutar las siguientes pruebas con Test Lab. Tenga en cuenta que todos los tipos de pruebas están limitados a ejecutarse durante 45 minutos en dispositivos físicos y 60 minutos en dispositivos virtuales. Cualquier excepción no detectada provocará un error en la prueba.
Prueba de instrumentación o prueba unitaria instrumentada : una prueba que ha escrito utilizando los marcos Espresso o UI Automator . Con esta prueba, puedes hacer afirmaciones explícitas sobre el estado de tu aplicación para verificar la funcionalidad correcta usando AndroidJUnitRunnerAPI .
Visite Ejecutar una prueba de instrumentación para obtener instrucciones sobre cómo preparar su prueba para ejecutarla en Test Lab.
Consulte la documentación para desarrolladores de Android para obtener instrucciones sobre cómo crear una prueba de instrumentación.
Prueba robótica : una prueba automatizada que analiza la interfaz de usuario de tu aplicación y luego la explora metódicamente simulando las actividades del usuario, sin necesidad de escribir ningún código. Visite Acerca de las pruebas de Robo para obtener más información.
Prueba de Game Loop : una prueba que utiliza un "modo de demostración" para simular las acciones del jugador en aplicaciones de juegos. Esta es una forma rápida y escalable de verificar que su juego funcione bien para los usuarios. Cuando eliges ejecutar una prueba de Game Loop, puedes:
Escribe pruebas nativas para tu motor de juego.
Evite escribir el mismo código para diferentes UI o marcos de prueba.
Opcionalmente, cree múltiples bucles para ejecutarlos en una sola ejecución de prueba (visite Acerca de las pruebas de Game Loop para obtener más información). También puede organizar bucles mediante etiquetas para poder realizar un seguimiento de ellos y volver a ejecutar bucles específicos.
Consulta Ejecutar una prueba de Game Loop para obtener instrucciones sobre cómo ejecutar esta prueba con Test Lab.
Herramientas para ejecutar su prueba
Puede elegir las siguientes herramientas para ejecutar su prueba:
Recomendado para usuarios nuevos : Firebase console te permite cargar una aplicación e iniciar la prueba desde tu navegador web. Consulte Prueba con Firebase console para obtener instrucciones sobre cómo ejecutar pruebas con esta herramienta.
La integración de Android Studio te permite probar tu aplicación sin salir de tu entorno de desarrollo. Consulte Prueba con Android Studio para obtener instrucciones sobre cómo 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 y también es adecuada para secuencias de comandos como parte de tu proceso automatizado de compilación y prueba. Consulta Prueba con la CLI de gcloud para obtener instrucciones sobre cómo ejecutar pruebas con esta herramienta.
También puedes probar tu aplicación sin costo con Test Lab cuando cargas y publicas los archivos APK de tu aplicación en Play Store usando el canal alfa o beta. Para obtener más información, consulte Usar informes previos al lanzamiento para identificar problemas y Pruebas de Robo .
Paso 2 : elija su dispositivo de prueba
Test Lab admite pruebas en varias marcas y modelos de dispositivos Android instalados y ejecutándose en un centro de datos de Google. Las pruebas en dispositivos en Test Lab te ayudan a detectar problemas que podrían no ocurrir al probar tu aplicación usando emuladores en Android Studio. Para obtener más información, consulte Dispositivos disponibles.
Paso 3 : revisar los resultados de la prueba
Independientemente de cómo inicie sus pruebas, Test Lab administra todos los resultados de sus pruebas y se pueden ver en línea.
El resumen de los resultados de la prueba se almacena automáticamente y se puede ver en Firebase console. Contiene los datos más relevantes para su prueba, incluidos videos de casos de prueba específicos, capturas de pantalla, la cantidad de pruebas que pasaron, fallaron o obtuvieron resultados incorrectos, y más.
Los resultados de las pruebas sin procesar contienen registros de pruebas y detalles de fallas de la aplicación, y se almacenan automáticamente en un depósito de Google Cloud. Si especifica un depósito, usted es responsable del costo del almacenamiento. Si no especifica un depósito, Test Lab crea uno para usted sin costo alguno.
Para obtener más detalles, consulte Analizar los resultados del laboratorio de pruebas de Firebase.
Cuando inicias una prueba desde Android Studio , también puedes revisar los resultados de la prueba desde dentro de tu entorno de desarrollo.
Limpieza del dispositivo
Google se toma muy en serio la seguridad de los datos de sus aplicaciones. Seguimos las mejores prácticas estándar de la industria para eliminar datos de aplicaciones y restablecer la configuración del sistema para dispositivos físicos después de cada ejecución de prueba para garantizar que estén listos para ejecutar nuevas pruebas. Para los dispositivos que podemos actualizar con una imagen de recuperación personalizada, vamos un paso más allá al actualizar estos dispositivos entre ejecuciones de prueba.
Para los dispositivos virtuales utilizados por Test Lab, las instancias de dispositivos se eliminan después de su uso para que cada ejecución de prueba utilice una nueva instancia de dispositivo virtual.
Laboratorio de pruebas y servicios de Google Play
Los dispositivos de Test Lab generalmente funcionan con la última versión del SDK de servicios de Google Play, pero algunos pueden requerir algunos días para actualizarse después del lanzamiento de una nueva versión del SDK. Tenga en cuenta que puede encontrar problemas de compatibilidad con algunos dispositivos.
Permitir que los dispositivos de prueba accedan a servidores backend privados
Algunas aplicaciones móviles necesitan comunicarse con servicios backend privados para funcionar correctamente durante las pruebas. Si sus servidores backend están protegidos por reglas de firewall, puede permitir el acceso a los dispositivos físicos y virtuales de Test Lab utilizando los bloques de direcciones IP a continuación para abrir rutas a través de su firewall.
La publicidad móvil
Test Lab proporciona una infraestructura escalable que automatiza las pruebas de aplicaciones y, lamentablemente, esta capacidad puede ser utilizada indebidamente por aplicaciones maliciosas diseñadas para generar ingresos publicitarios fraudulentos.
Para mitigar este problema:
Si utiliza o trabaja con proveedores de publicidad digital de terceros (por ejemplo, redes publicitarias o plataformas del lado de la demanda), se recomienda utilizar anuncios de prueba en lugar de anuncios reales durante el desarrollo y las pruebas de la aplicación.
Si debe utilizar anuncios reales en su prueba, notifique a los proveedores de publicidad digital con los que trabaja para filtrar los ingresos y todo el tráfico correspondiente generado desde Test Lab utilizando los bloques de direcciones IP a continuación . No es necesario que notifique a los proveedores de publicidad propiedad de Google; Test Lab se encarga de eso por usted.
Direcciones IP utilizadas por los dispositivos Test Lab
Todo el tráfico de red generado por los dispositivos Test Lab se origina en los siguientes bloques de direcciones IP . También puedes acceder a esta lista mediante 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.
Tipo de plataforma y dispositivo | Bloque de direcciones IP CIDR |
---|---|
Dispositivos físicos Android e iOS, dispositivos virtuales Arm | 70.32.128.0/19 (agregado 02-2022) 108.177.6.0/23 108.177.18.192/26 (agregado 02-2022) 108.177.29.64/27 (ampliado 02-2022) 108.177.31.160/27 (agregado 02-2022) 199.36.156.8/29 (agregado 02-2022) 199.36.156.16/28 (agregado 02-2022) 209.85.131.0/27 (agregado 02-2022) 2001:4860:1008::/48 (agregado en 02-2022) 2001:4860:1018::/48 (agregado en 02-2022) 2001:4860:1019::/48 (agregado en 02-2022) 2001:4860:1020::/48 (agregado en 02-2022) 2001:4860:1022::/48 (agregado en 02-2022) |
Dispositivos virtuales Android (sin Arm) | 34.68.194.64/29 (agregado el 11-2019) 34.69.234.64/29 (agregado el 11-2019) 34.73.34.72/29 (agregado el 11-2019) 34.73.178.72/29 (agregado el 11-2019) 34.74.10.72/29 (agregado 02-2022) 34.136.2.136/29 (agregado 02-2022) 34.136.50.136/29 (agregado 02-2022) 34.145.234.144/29 (agregado 02-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 el 7-2019) 35.245.243.240/29 (agregado 02-2022) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |
Los bloques de IP del dispositivo ya no se utilizan | 74.125.122.32/29 (eliminado en 02-2022) 216.239.44.24/29 (eliminado en 02-2022) |