Trabajo remoto y Device Lab

Nada tiene que ver nuestro Device Lab del comienzo con el actual en O2O. Pasando por diferentes fases y mejoras hemos logrado llegar a las mejores soluciones de acceso en remoto.

El comienzo

En un principio no existía el Device Lab, todo el QA funcional de apps era ejecutado manualmente en móviles físicos iOS y Android, intentando tener la mayor representatividad posible de los dispositivos y versiones de los mismos más usadas en el momento por los clientes de las apps desarrolladas en O2O. 

Los móviles se encontraban situados en mesas donde  según se iban necesitando por cualquier miembro de la empresa, este debía asignarse para llevar un control. Una vez usado debía ser devuelto.

Una primera mejora, el descubrimiento del STF

Una primera mejora que se introdujo y que ayudaría mayoritariamente al equipo de QA fue introducir nuestro propio Smartphone Test Farm, STF. STF nos permite el control total de los dispositivos Android de manera remota sin la necesidad de tener que estar de manera manual realizando las pruebas de las aplicaciones en desarrollo, pudiendo realizar cualquier acción que haríamos al usar un dispositivo. 

Construcción del armario 

A medida que el número de dispositivos iOS y Android iba aumentando, así como otros dispositivos para la realización de pruebas automáticas, pruebas, web, etc, la necesidad de centralizar todos los dispositivos en un armario fue incrementando. Debido a ello se construyó bajo demanda el armario donde todos los dispositivos serían alojados, siendo visibles en todo momento y permitiendo su fácil acceso para su mantenimiento y uso.

El confinamiento

Y llegó EL CONFINAMIENTO. El gran desafío que nos encontramos fue esencialmente, cómo probar remotamente aplicaciones en iPhones sin tener que llevar los terminales a casa, ya que, ello podría limitar las pruebas a un único dispositivo y versión de iOS. En un comienzo, se contrató el servicio de una de las plataformas de farming existentes pero debido al alto coste de sus planes se tuvo que recurrir a la opción de tener los iPhone en casa.

Creación de Nietest

Como hemos comentado anteriormente, buscábamos la manera de no tener que recurrir al tener que llevar los dispositivos a casa. Durante el tiempo que usamos Kobiton encontramos una empresa  la cual había desarrollado su propia solución. Realizando una prueba sobre un iPhone X vimos que el control remoto del dispositivo fallaba al realizar un tap en determinada posición de la pantalla debido al notch, lo cual en otro dispositivo no ocurría, por lo que intuimos que las coordenadas tenían algo que ver. Este bendito error nos puso en la pista de cómo poder desarrollar nuestro propio control remoto de iPhone. 

Gracias a la experiencia con Appium y el ver que todas estas compañías tenían el WebDriverAgent instalado en los iPhone, y, tras investigar la documentación de comandos de Appium así como la documentación de appium base driver ,llegamos a la realización de unas pruebas iniciales.

El resultado, una primera prueba simple de un tap en unas coordenadas específicas es el siguiente: 

Una segunda prueba más completa incluido el enviar texto:

 

Junto con la gran ayuda de mi compañero de QA, Pablo Nieto, de ahí lo de Nietest, y del equipo de front con Omar Jiménez a la cabeza se pensó en realizar un interfaz sobre la cual poder controlar los iPhones de manera remota. De esta manera se creó lo que dentro de O2O llamamos el Nietest:

Mantenimiento y actualizaciones

Teniendo la posibilidad de poder controlar remotamente cualquier dispositivo iOS – Android, esto nos permite el poder empezar a probar los desarrollos contra las betas y actualizaciones de los sistemas operativos de  ambas plataformas. A su vez, de manera periódica también se hace la compra de dispositivos según necesidades de los proyectos, analizando cuáles son los dispositivos más usados por los usuarios de la app, así como los dispositivos más utilizados a nivel nacional.

Resumen final con las ventajas

El poder tener de estas dos soluciones, STF y Nietest permite especialmente a los equipos diseño, desarrollo y QA , el poder  acceder remotamente a múltiples dispositivos para poder verificar desarrollos en diferentes dispositivos/OS así como diseños en diferentes tamaños y resoluciones, lo cual no se podría realizar de una manera efectiva si cadas miembro tuviera que tener un dispositivo en su hogar/lugar de trabajo. 

 

como crear una intranet
Anterior

Como idear una intranet

Siguiente

Google I/O 2022

Google I/O 2022
Talento O2O

¿Te apetece formar parte de nuestro equipo?

Mira las oportunidades