Comienza a usar Firebase Test Lab en iOS

Firebase Test Lab te permite probar la calidad de tu app en una variedad de dispositivos y configuraciones. En esta guía, se proporcionan una descripción general de los conceptos clave de Test Lab, las ofertas para iOS y los pasos que debes seguir para comenzar a realizar pruebas.

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 y términos 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

Puedes ejecutar las siguientes pruebas con Test Lab. Ten en cuenta que todos los tipos de prueba pueden ejecutarse hasta 45 minutos como máximo en dispositivos físicos, y las excepciones no detectadas generarán una prueba fallida.

  • XCTest (incluidas XCUITests): Es una prueba de unidades escrita con el framework XCTest. Visita Crea una XCTest si necesitas instrucciones para modificar una XCTest a fin de que se ejecute con Test Lab.

  • 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, puedes crear varios bucles para que se ejecuten en una única ejecución de prueba. También puedes organizar los bucles con etiquetas para hacer un seguimiento de ellos y volver a ejecutar bucles específicos.

    Visita Ejecuta una prueba de bucle de juego si necesitas instrucciones para ejecutar la prueba en Test Lab.

Paso 2: Elige una herramienta para ejecutar tu prueba

Puedes elegir las siguientes herramientas para ejecutar tu prueba:

  • Firebase console te permite subir una app e iniciar pruebas desde cualquier lugar. Consulta Realizar pruebas con Firebase console si necesitas instrucciones para usar esta herramienta.

  • La interfaz de línea de comandos (CLI) de gcloud te permite ejecutar pruebas desde la línea de comandos de forma interactiva. Además, funciona bien con las secuencias de comando como parte de tu proceso de compilación y prueba automáticos. Consulta Realizar pruebas con la CLI de gcloud si necesitas instrucciones para usar esta herramienta.

  • Antes de realizar pruebas en dispositivos reales, ejecuta tu prueba de manera local en un simulador para asegurarte de que funcione correctamente. Consulta Ejecutar una prueba localmente si necesitas instrucciones.

Paso 3: Especifica dispositivos de prueba

Con Test Lab, puedes ejecutar la prueba de tu app en una amplia variedad de dispositivos y modelos de iOS alojados en un centro de datos de Google. Para obtener más información, consulta los dispositivos disponibles.

Paso 4: 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.

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.


Permite que los dispositivos de Test Lab accedan a 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)