Aplicaciones MóvilesEmergentesEstrategia DigitalQA

Testing de aplicaciones móviles. Buenas prácticas en QA

7 Mins de lectura

Conoce cómo podemos crear tu ecosistema de herramientas QA

El uso de aplicaciones móviles se ha convertido en una extensión de la vida humana, tanto que el informe Market Guide for Mobile Application Testing Services de Gartner menciona que cada vez mayor parte de las interacciones de clientes con empresas tendrá lugar sobre un dispositivo móvil.

A través de las aplicaciones móviles se incrementan las ventas y se construye la reputación de las marcas, por lo que asegurar su calidad y un sólido proceso de pruebas son fundamentales en el proceso de desarrollo.

Para ello es necesario realizar un QA y testing de aplicaciones móviles que permita verificar y validar que las APPs funcionan correctamente y proporcionan una experiencia de usuario satisfactoria en diferentes dispositivos y SO.

El mercado de las APPS se encuentra todavía fragmentado pero en constante evolución, por lo que el mismo informe de Gartner recomienda mayor automatización en las pruebas de software para dispositivos móviles, un enfoque más colaborativo Agile y DevOps de los implicados y agilizar y flexibilizar los procesos de desarrollo y calidad.

La complejidad del QA y Testing de aplicaciones móviles

La actividad de pruebas en un entorno móvil presenta ciertas singularidades respecto a las pruebas realizadas en otros entornos o aplicaciones. Hay que seguir los 7 principios del testing y considerar una serie de factores para establecer la estrategia de pruebas: 

Diversidad de plataformas de instalación y actualización

Apple Store y Google Play suelen ser los mercados más comunes para poder distribuir una aplicación, pero dependiendo de la naturaleza del producto, el uso de mecanismos de distribución de terceros o empresariales será necesario. La elección de la plataforma adecuada permite compartir la aplicación de la forma más segura tanto para el usuario como para el gestor. 

También es importante tener en cuenta que existe la posibilidad que se deba gestionar un pago para la instalación de la app, por lo que estos mercados o mecanismos de distribución deben ser correctamente configurados para llevar a cabo esa gestión. 

Diversidad de SO y sus versionados

Dependiendo de los usuarios objetivos del producto hay que tener en cuenta qué versiones de los SO disponibles deben ser aseguradas para cubrir y cumplir con cualquier restricción que estas demanden. 

Los SO más comunes son Android y iOS, pero también hay que considerar sus posibles variantes, las capas de personalización de las distintas marcas de fabricantes y las características específicas de dispositivos como tablets, smartwatches y otros. 

Diversidad de dispositivos y marcas

Los dispositivos pueden presentarse en modo básico, de altas prestaciones, Smartphone, tablet, incluso vestibles o weareables y dispositivos conectados a través de IOT. Lo importante es identificar qué dispositivos y marcas son los que los usuarios de la app utilizarán con mayor probabilidad en el mercado y segmento al que nos dirigimos. 

Diversidad de prestaciones y sensores

Los dispositivos pueden estar equipados con una gran variedad y combinación de características específicas, como por ejemplo radio, USB, sensores de wifi, NFC, acelerómetro, proximidad, Bluetooth, cámaras, altavoces, micrófonos, auriculares, GPS, lectores de huella dactilar, magnetómetros, detectores de luz ambiente, lectores de iris, sensores infrarrojos, giroscopios, barómetros, sensores capacitivos, podómetros, sensores de espectro de color, sensores de ritmo cardíaco, etc. 

Diversidad de redes y proveedores de redes

Usualmente los datos consumidos por las apps se obtienen a través de internet. Por lo tanto, puede haber diversidad de niveles de cobertura, pérdida de señal y cambios entre redes 2G, 3G, 4G. A su vez, hay que considerar que los datos pueden ser recibidos desde otras fuentes de datos de comunicación como Bluetooth, NFC o sensores propios del dispositivo. 

Diversidad de tipo de compras en la app

Dependiendo del canal a través del que se adquiera el producto, se pueden gestionar los pagos de forma tanto nativa como a través de servicios de terceros. En ambos casos es importante cumplir con los requisitos y exigencias de configuración y seguridad para no comprometer los datos personales del usuario.  

Diversidad de localización de los usuarios

Los usuarios y dispositivos pueden estar dispersos geográficamente a lo largo de diversos mercados, cada uno con sus particularidades. Esto implica una gran diversidad a nivel de leyes y estándares, idiomas, caracteres, formatos de monedas, direcciones, teléfonos, fechas y medidas por país. 

Otras singularidades para considerar

  • Aplicaciones de tipo nativas, web o híbridas 
  • Importancia de la seguridad por ser dispositivos expuestos y en movilidad 
  • Potenciales problemas de las plataformas que impacten en la aplicación 
  • UX como factor clave para el usuario 
  • Time to market muy cortos
  • Posibilidad de interrupciones de la APP como llamadas, SMS, notificaciones 
  • Diversidad en condiciones de la batería, consumo de energía y estado de carga 
  • Diversidad en condiciones de memoria 
  • Diversidad en tamaños y resoluciones de pantallas 
  • Variabilidad de las temperaturas de los dispositivos
  • Diversidad de métodos de entrada
  • Cambios de orientación del dispositivo  
  • Otorgación de permisos de accesos a otras prestaciones 
  • Diversidad en método de conexión de la APP: nunca, siempre o parcialmente conectada 
  • Modelo de negocio: semi o gratuita, con publicidad, basada en transacciones, de pago, empresarial 

Buenas prácticas en el testing de aplicaciones móviles

Crear una cartera de dispositivos adecuada para el mercado, segmento y el tipo de aplicación a testear

Para la ejecución de la prueba específica del mercado objetivo se puede disponer de dispositivos reales sobre los que probar, recurrir a emuladores o simuladores o incluso a un laboratorio de pruebas que permita las siguientes ventajas: 

  • Acceso a una amplia variedad de dispositivos móviles, tipos pantallas y resoluciones  
  • Acceso a amplia variedad de Sistemas operativos y sus versiones, tanto iOS como Android
  • Ahorro de tiempo y recursos sin comprar ni mantenerlos en la propia empresa 
  • Mayor identificación de errores difícilmente detectados en prueba manual o en dispositivos específicos 
  • Acceso a diversas configuraciones de red, velocidades de conexión y restricciones de ancho de banda
  • Integración con procesos de automatización para acelerar el proceso y evitar pruebas manuales

Diseñar, planificar y ejecutar una estrategia de pruebas adecuada para el mercado y el tipo de aplicación a testear 

La estrategia de pruebas debe ir encaminada al escenario concreto de los dispositivos móviles, con todas sus particularidades: 

  • Funcionalidad: verificar si la aplicación funciona correctamente y cumple con los requisitos especificados. 
  • Test de Usabilidad: verificar que el diseño e interfaz son sencillos e intuitivos con un flujo natural y lógico, mediante un diseño previo que enfatice la usabilidad y el fácil acceso a todas las funciones.
  • Rendimiento: verificar velocidad de carga, eficiencia de la batería, temperatura del dispositivo y capacidad de manejar una gran cantidad de datos.
  • Seguridad: verificar si la aplicación está protegida contra posibles amenazas y vulnerabilidades, acceso a datos privados o verificación la sesión usuario. 
  • Compatibilidad: verificar si la aplicación es compatible con diferentes dispositivos, resoluciones de pantalla y sistemas operativos.
  • Estrés: gestión de la concurrencia de transacciones en la aplicación, bien sea de peticiones de red, a la BD local o solo la interacción del usuario  
  • Bases de datos: muchas veces es importante almacenar datos del usuario o de los servicios que utiliza para poder otorgarle una mejor experiencia. Por lo tanto, hay que tener muy en cuenta qué información se almacena, en qué lugar y en qué formato, de tal manera que la disponibilidad y la seguridad estén garantizadas de acuerdo con lo esperado. 
  • Globalización y localización: garantizar que tu app pueda gestionar diferentes idiomas / formatos / caracteres en las interfaces de usuario, incluyendo las funcionalidades donde se tiene en cuenta la accesibilidad 
  • Accesibilidad: existe una gran diversidad funcional entre las personas usuarias de apps que hay que tener presente para garantizar la correcta usabilidad de todos los usuarios objetivo. 
  • Instalabilidad: dependiendo de la naturaleza de la aplicación, debe ser instalada y distribuida en diferentes tipos de dispositivos móviles, por lo que es importante garantizar la instalación uniforme en todos ellos. A su vez, la app debe abarcar el espectro de versiones de SO necesaria para ser compatible con aquellos dispositivos a los que va dirigida. 
  • Pruebas de campo: probar la APP bajo diferentes condiciones y en escenarios y condiciones reales fuera del laboratorio de pruebas. 
  • Aprobación de Store y posterior a entrega: proceso completo tras la aprobación, entrega e instalación por los usuarios y gestión de versiones disponibles e instaladas  

Utilizar herramientas existentes para el testing de aplicaciones móviles 

  • Appium: herramienta de código abierto para pruebas funcionales automatizadas en diversos SO
  • TestFlight: herramienta desarrollada por Apple para distribuir versiones beta a los evaluadores  
  • Firebase Test Lab: plataforma de prueba basada en la nube para Android y iOS en dispositivos reales 
  • Selendroid: marco de prueba de código abierto para la prueba automatizada de aplicaciones de Android. 
  • BlueStacks: servicios que dispone de una alta gama de emuladores donde poder probar las aplicaciones con el dispositivo y el SO específico que se necesite 
  • Bitrise: plataforma CI/CD para construir, probar y desplegar aplicaciones móviles  
  • SonarQube: herramienta de inspección continua para análisis estático de código fuente y de prueba. 
  • AppCenter: herramienta de entrega continua que permite la automatización de las pruebas de interfaz 

Conclusiones 

Es importante asegurar la calidad en dispositivos móviles para garantizar la satisfacción del usuario y crear una experiencia fluida. Además, con la amplia variedad y fragmentación de dispositivos y SO en el mercado global, es crucial asegurarse de que la aplicación funciona correctamente en cada uno de ellos. La realización de diferentes tipos de pruebas puede ayudar a identificar y resolver problemas antes de lanzar la aplicación al mercado. 

No solo se debe enfocar la calidad de la app, evaluando el correcto comportamiento de las funcionalidades que la conforman. El rendimiento, seguridad y compatibilidad de esta debe ser tomado igualmente en cuenta de acuerdo con las necesidades del producto y aquí la experiencia de los desarrolladores juega un papel esencial para poder definir y acotar de manera certera como debe ser su arquitectura global 

En Hiberus podemos ayudarte con nuestra área de especialistas en Mobile y en QA 

¿Quieres más información sobre nuestros servicios de QA?

Contacta con nuestro equipo de expertos en QA y Testing

    10 posts

    Sobre el autor
    Service Designer
    Artículos
    Artículos relacionados

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    ¡No te pierdas nada!

    Te mantenemos al dia de tendencias y novedades sobre el futuro del trabajo, formas de hacer crecer tu negocio, liderazgo digital y muchas cosas más..

    Newsletter