20 de febrero de 2023
Granjas de Móviles: Cómo Testear Aplicaciones Móviles en el heterogéneo mercado de dispositivos
Para que nuestra aplicación funcionase en el mercado de la movilidad, antiguamente bastaba con probarla en un pequeño surtido de dispositivos del sistema operativo para el que estuviera destinada. Con el paso del tiempo solamente entre los principales fabricantes las versiones de dispositivos se cuentan por cientos. Si conjugamos los dispositivos con los sistemas operativos y todas las particularidades de cada uno de ellos en distintos ámbitos (conectividad de red, consumo de batería, notificaciones entrantes que interrumpen el flujo, uso de CPU…) las posibilidades en cuanto a escenarios de pruebas serían innumerables.
¿Qué es una granja de dispositivos móviles?
El término granja de móviles hace referencia a un entorno de pruebas que permite a desarrolladores y miembros de QA implementar aplicaciones compatibles y testeadas en una gran variedad de terminales móviles, bien sean reales, emuladores, simuladores o navegadores web. Se trata de dispositivos móviles conectados a la nube y accesibles de forma remota a través de la red mediante servicios provistos.
Existen diversos tipos de nubes de dispositivos. En algunas de ellas se proporcionan emuladores y simuladores. Otras ofrecen acceso directamente a los dispositivos físicos reales, lo que ofrece una mayor ventaja a los usuarios de estos servicios.
En este post veremos algunas de las soluciones más conocidas y reconocidas de granjas de móviles junto con las ventajas e inconvenientes que presentan cada una de ellas.
Ventajas del uso de granjas de móviles en la nube
Con el objetivo de que nuestra aplicación cumpla las expectativas del usuario (tiempos de espera minimizados, experiencia de usuario (UX) lo más llamativa y atractiva posible, etc.), se hace necesario contar con un proceso de pruebas automatizadas durante el ciclo de desarrollo, evolución y mantenimiento de la aplicación.
Gracias a las granjas los desarrolladores pueden acceder directamente a dispositivos concretos en los que ejecutar las aplicaciones, ver cómo se comportan bajo distintos escenarios e interactuar con ellos.
El uso de las nubes de granjas de móviles de terceros nos permite:
- Hacer uso de una amplia gama de terminales con todas sus características HW y SW junto con otros parámetros.
- Nos evitamos tener que comprar todo un parque de dispositivos móviles con el coste que ello supone, el mantenimiento de los mismos, su alojamiento físico, etc.
- Se puede integrar con los flujos de CI/CD fácilmente.
- Se obtienen unos resultados detallados de las pruebas en forma de vídeos, registros, informes, capturas de pantalla.
- Es fácil de usar y están a disposición prácticamente al instante ya que simplemente se requiere contratar el plan de la solución elegida y una pequeña configuración para empezar a lanzar nuestros procesos de pruebas.
Desventajas
Las granjas tienen la pega de que no dejan de ser servicios de terceros, con lo que se depende de su disponibilidad, actualización de los dispositivos, tiempos de espera si se trata de una solución muy demandada, confiar en la seguridad que proporcionan y asumir los costes derivados del pago de este plan.
Granja Vs Laboratorio propio
En función de las necesidades que se desean cubrir y teniendo en cuenta el tamaño de la compañía que realiza los desarrollos, una alternativa a las nubes de granjas puede ser montar un laboratorio de dispositivos móviles propio. Esta solución nos permite prescindir de los servicios de terceros asociados a las granjas de móviles.
Hoy en día es tan ingente la cantidad de dispositivos, sistemas, navegadores y variables que pueden darse que ¿os imagináis cómo sería realizar todas las baterías de pruebas de forma manual? Y no hablamos solamente de pruebas funcionales que cubren un gran espectro de las pruebas; las pruebas instrumentales son una de las piezas claves para validar la interfaz y su comportamiento y conseguir así una aplicación de mayor calidad.
Muchas nubes de granjas de dispositivos permiten la ejecución de pruebas paralelas, pudiendo lanzar scripts de prueba en múltiples dispositivos simultáneamente con el consecuente ahorro de tiempo y obteniendo resultados más rápidos para tomar las medidas adecuadas. ¡Nuestra aplicación estaría preparada más rápidamente para salir al mercado!
Distintas soluciones de granjas
Existen múltiples soluciones de nubes de terminales móviles. Hemos hecho una pequeña selección de las más conocidas y utilizadas que os contamos a continuación.
AWS Device Farm
Sin duda alguna, la que se lleva la palma en las soluciones de granjas de móviles es AWS Device Farm siendo líder del mercado.
AWS Device Farm es un servicio que nos permite probar nuestras aplicaciones en dispositivos reales para asegurar el correcto funcionamiento ya sea en sistemas Android, iOS o web y en diferentes smartphones, tablets o navegadores web.
El coste de uso de esta solución es algo diferente dado que no se basa en una cuota mensual por número de dispositivos, sino que incluye el factor tiempo en su modelo de pagos.
El desglose de modelos de pago para dispositivos móviles que incluye actualmente es:
- Pago por uso. Se paga en función de los minutos de uso de los dispositivos a un precio de $0,17 el minuto. Incluye una prueba gratuita única de 1000 minutos a partir de la cual comienza el cobro mencionado.
- Pruebas y acceso ilimitados. Este plan de pago permite pruebas ilimitadas y acceso remoto desde $250 al mes por ranura. Cada ranura se corresponde con una ejecución, es decir, si se programa la ejecución de una prueba en 10 dispositivos y tenemos contratada una ranura hasta que no termine la ejecución de la prueba en 1 dispositivo no comenzará la siguiente. Las ranuras lo que proporcionan es simultaneidad; independientemente de la cantidad de pruebas o accesos remotos que se hagan el coste mensual no variará.
Dispositivos privados. Desde $200 al mes se puede disponer de dispositivos de uso exclusivo con la configuración de software y hardware solicitados.
En cuanto a las pruebas en navegadores web el modelo de pago es por minutos de uso de la instancia, con un precio de $0,005 por minuto de uso en cualquiera de los navegadores soportados.
Las principales características de AWS Device Farm son la generación de vídeos y registros que nos ayudan a identificar más rápidamente problemas en las aplicaciones ejecutadas, se integra con la mayoría de herramientas de integración continúa y entrega continúa y posee un amplísimo parque de dispositivos a los que acceder.
Sauce Labs
Sauce Labs posee una gran variedad de dispositivos Android e iOS (más de 2000) distribuidos en nubes públicas de Alemania y Estados Unidos. Permite probar nuestras aplicaciones móviles y aplicaciones web en distintos navegadores y dispositivos móviles, tanto reales como en emuladores/simuladores. Esta solución se integra fácilmente con las herramientas de CI/CD y permite a los desarrolladores maximizar su productividad con las herramientas de depuración que proporciona como los registros de vídeo, capturas y ficheros de log.
El modelo de pagos de Sauce Labs incluye los planes:
- Live Testing. Pruebas manuales (sin automatización) en miles de navegadores, dispositivos móviles reales y emuladores/simuladores. Este plan tiene un precio de $39/mes si la facturación es anual o $49/mes si la facturación es mensual.
- Virtual Cloud. Pruebas automatizadas y manuales en miles de navegadores combinados con distintos sistemas operativos y en emuladores/simuladores móviles. Este plan tiene un precio de $149/mes si la facturación es anual o $199/mes si la facturación es mensual.
- Real Device Cloud. Pruebas automatizadas y manuales para aplicaciones móviles en miles de dispositivos móviles reales. Este plan tiene un precio de $199/mes si la facturación es anual o $249/mes si la facturación es mensual.
- Plan personalizado para empresas en función de las necesidades y funciones a utilizar.
Los precios de los planes listados arriba son para ejecuciones individuales, sin paralelización. En el momento en que se desean paralelizar pruebas el coste aumenta en función del número de ejecuciones en paralelo elegidas.
Firebase Test Lab (Google)
Firebase Test Lab es una infraestructura basada en la nube para la realización de pruebas sobre nuestras aplicaciones en un amplio rango de dispositivos y configuraciones, lo que nos da una mejor visión de la calidad y el comportamiento de las aplicaciones cuando un usuario final vaya a interactuar con ellas. Test Lab dispone de múltiples dispositivos reales conectados en un centro de datos de Google que permiten ofrecer a los usuarios las combinaciones que necesitan para sus pruebas en cuanto a hardware y software.
Firebase solo incluye 2 planes para todos sus módulos (la mayoría de ellos de uso parcial o completamente gratuitos):
- Spark plan. No tiene coste pero sí límite de 10 tests/día en dispositivos virtuales y 5 tests/día en dispositivos físicos.
- Blaze plan. Para dispositivos virtuales no tiene coste hasta 60 minutos/día a partir de los cuales el coste es de $1/dispositivo/hora. Para dispositivos reales no tiene coste hasta 30 minutos/día a partir de los cuales el coste es de $5/dispositivo/hora.
Las principales características de esta solución son la integración con flujos automatizados, la inclusión de un rastreador inteligente que navega por nuestra aplicación sin necesidad de tests, y el A/B Testing que nos permite obtener feedback de los usuarios finales sobre nuestras aplicaciones.
BrowserStack
BrowserStack proporciona acceso a más de 2000 navegadores y dispositivos reales Android e iOS para realizar pruebas de nuestras aplicaciones móviles y web. La solución de BrowserStack es escalable y flexible, permitiendo realizar pruebas unitarias gratuitas de Javascript con más de 750 configuraciones posibles.
El modelo de pago de BrowserStack está pensado para ofrecer múltiples permutaciones en función de la necesidad, pudiendo combinar el número de usuarios, pruebas manuales y/o automáticas, en navegadores web desktop/mobile y/o dispositivos móviles… Los precios oscilan entre los $29 al mes por el plan más sencillo (pruebas manuales en navegadores web de escritorio para un único usuario) hasta el plan más completo por 199$.
Una de las características más relevantes de BrowserStack es su simplicidad de uso, ya que sin apenas nada de configuración simplemente se inicia sesión y ya estamos en disposición de empezar a usarlo. Ofrece informes detallados de los errores, registros y capturas de pantalla para depuración en tiempo real y poder solventar rápidamente los problemas de nuestras aplicaciones.
Además de esto, utiliza gestos naturales de interacción con los dispositivos móviles como si tuviéramos el dispositivo en nuestra mano.
Kobiton
Kobiton es una plataforma de pruebas de aplicaciones que ofrece pruebas manuales y automatizadas en dispositivos reales, bien en la nube o en modo on-premise. Una de las principales características de Kobiton es que permite configurar la nube de dispositivos conectando dispositivos que tengamos on-premise o incluso cualquier dispositivo ‘suelto’ de manera agregada a los dispositivos de la nube y conformar así una nube de prueba de aplicaciones híbrida.
El modelo de pagos de Kobiton incluye los planes:
- Start up. Para equipos que necesitan acceso rápido a dispositivos reales. Incluye 500 minutos al mes para usuarios ilimitados y 5 exportaciones Appium. Este plan tiene un coste de $75 al mes.
- Accelerate. Para equipos que necesitan incluir rápidamente automatización de las pruebas. Incluye 3000 minutos al mes para usuarios ilimitados y 10 exportaciones Appium. Este plan tiene un coste de $390 al mes si la facturación es mensual y de $3960 al año si la facturación es anual.
- Scale. Para equipos que desean incluir integración continua y cubrir el amplio abanico de mercado, asegurando así la calidad de sus aplicaciones. Incluye 7500 minutos al mes para usuarios ilimitados y 20 exportaciones Appium. Este plan tiene un coste de $9000 anuales.
- Enterprise. Para una experiencia robusta y completa más allá de los planes anteriores.
Una de las mayores ventajas de Kobiton en sus planes de pago es que no tiene límite de sesiones concurrentes en ninguno de ellos y se integra fácilmente con las herramientas de CI/CD del mercado.
Comparativamente con AWS Device Farm, Kobiton ofrece la ventaja del modelo híbrido y on-premise para aportar entornos más seguros.
Perfecto Mobile
Perfecto Mobile es una herramienta para pruebas sobre aplicaciones móviles que nos permite probarlas tanto en dispositivos reales como en emuladores/simuladores, sin el problema del mantenimiento de dispositivos.
Las principales características de esta solución son la fácil integración con herramientas de CI/CD y con frameworks de automatización de pruebas como Appium y XCUITest. Soporta miles de dispositivos, sistemas operativos y combinaciones de navegadores. Genera informes detallados incluyendo la causa raíz del análisis y registros de las zonas de mayor problema.
El modelo de pagos de Perfecto Mobile incluye los planes:
- Live. Pruebas manuales (sin automatización) en miles de navegadores, dispositivos móviles reales y emuladores/simuladores. Este plan tiene un precio de $83/mes con facturación anual.
- Automate. Pruebas automatizadas y manuales en miles de navegadores, dispositivos móviles reales y emuladores/simuladores. Este plan tiene un precio de $125/mes con la facturación anual.
- Scriptless. Sin automatización, la ejecución se realiza en una nube privada.
- Plan personalizado para empresas en función de las necesidades y funciones a utilizar, incluyendo dispositivos reales y virtuales dedicados.
Conclusiones
Las granjas de móviles son una de las mejores soluciones para obtener aplicaciones profesionales y de calidad, y aunque facilite la vida de las pruebas enormemente no nos exime de implementar y configurar la automatización de las pruebas y mantenerla en el tiempo.
Habrá que valorar en cada caso particular cuál es el mejor enfoque en función del tamaño del proyecto, el mercado objetivo, el volumen de la propia compañía y otros muchos factores propios que nos ayudarán a decidir si optar solo por granjas de móviles, conjugar estas granjas con otros enfoques de pruebas o si usar únicamente otros enfoques.
Share
Quizá te puede interesar
MuleSoft Certificaciones: Guía y Exámenes
MuleSoft como producto ofrece una gran variedad de certificaciones a toda aquella persona que quiera acreditarse como experto en las diferentes áreas que ofrece. En este post vamos a ver cuales son estas certificaciones, qué conocimientos requieren y sus características, pero antes, si no sabes lo que es MuleSoft, te recomiendo que eches un vistazo al artículo donde os desvelamos las principales características y ventajas de este fantástico iPaaS.
¿Sabes qué es el IoT Industrial (IIoT)? ¿En qué se diferencia?
El término Internet de las cosas es ya muy popular, gracias a las innumerables aplicaciones que en los últimos tiempos han aparecido con el objetivo de facilitar la vida de las personas. Ya sea en el hogar o como para el ocio. Sin embargo las nuevas tecnologías van mucho más allá, con un importantísimo potencial económico también en el sector industrial. Esto ha dado lugar a lo que se conoce como el «Internet industrial de las cosas» (IIoT).
Salesforce Advertising Studio: ¿Qué es? ¿Ventajas?
A la hora de entender en qué consiste y cómo funciona Advertising Studio, tal vez sea importante conocer las ventajas y gran potencial de Marketing Cloud de Salesforce. Se trata de una plataforma unificada que cuenta con todas las necesidades latentes de un departamento de marketing, ya se publicidad, analítica, email marketing, etcétera.