En este momento estás viendo Estrategias basadas en datos analíticos para pruebas de aplicaciones móviles

Estrategias basadas en datos analíticos para pruebas de aplicaciones móviles

  • Autor de la entrada:
  • Categoría de la entrada:Agile / ISTQB

El disparador que me impulsó a elaborar el siguiente contenido fue el siguiente párrafo que me resultó muy interesante:

Los datos de análisis móvil se utilizan para seleccionar una cartera de dispositivos para la ejecución de pruebas que sea adecuada para el mercado objetivo. Las pruebas se ejecutan sobre esta cartera para probar la aplicación en un dispositivo de acuerdo con la importancia del mismo. Los datos relativos a los dispositivos y sus características especiales, en su caso, también pueden utilizarse para diseñar pruebas específicas para un tipo de dispositivo. Por ejemplo, un dispositivo con sensor de latidos cardíacos puede necesitar casos de prueba especiales.

Luego de leerlo la primera vez, rescaté de la primera oración dos conceptos que quise investigar un poco y profundizar para que me quedara en claro:

  • Los datos de análisis móvil
  • cartera de dispositivos

Sobre los datos de análisis móvil

Este concepto tiene que ver con la información y métricas que se hayan recopilado en base al uso de dispositivos móviles, y en este sentido hay ejemplos:

  • módelos más populares
  • versiones de sistema operativo que se usan más
  • cantidad de descargas que tiene una app
  • tamaños de pantallas que predominan
  • tasa de retención de usuarios
  • tiempo promedio de sesión
  • eventos y flujo de navegación
  • tasa de conversión
  • frecuencia de uso por día/semana/mes
  • tasa de desinstalación
  • consumo de batería y datos móviles
  • rendimiento en diferentes redes
  • problemas de compatibilidad
  • ubicación geográfica de los usuarios

Todos estos datos permiten tomar decisiones en cuanto al desarrollo y prueba de aplicaciones móviles que aseguren el correcto funcionamiento en los dispositivos más relevantes.

Punto para reflexionar: Todos estos ejemplos -y seguramente hay muchos más- me dispara una serie de preguntas que tal vez te las estés haciendo en este momento ¿Cómo deben traer las historias de usuario que se tratan en la sprint planning, esta información? ¿En criterios de aceptación de manera global y su detalle en un informe técnico? ¿Qué entorno de prueba debo tener para lograr controlar la calidad de la app considerando esta información? ¿El product owner debe definir las prioridades por alcanzar durante el sprint en función a esta información? ¿La cantidad de equipos sean físicos o virtuales en cuánto limitará las pruebas? ¿Cómo superar esta limitación y considerarla como acordada? ¿Cómo visibilizar los diferentes escenarios de prueba y planes de prueba? ¿Qué herramientas debo utilizar para registrar y seguir las pruebas, además de las correspondientes ejecuciones manuales y/o automatizadas?


Sobre la cartera de dispositivos

La cartera de dispositivos para la ejecución de pruebas se refiere al conjunto de smartphones, tablets y otros equipos móviles seleccionados estratégicamente para realizar pruebas de una aplicación. Básicamente el propósito de una cartera de dispositivos es asegurar que la app funcione correctamente en los dispositivos más relevantes para el público objetivo.

El punto anterior tiene vinculación de alguna manera con este propósito ya que los resultados están en función del objetivo de prueba que se haya definido sobre la base de haber seleccionado y priorizado alguno de los puntos anteriores relacionados con la información y métricas que se recopilan sobre el uso de dispositivos móviles.

Elementos clave en la selección de la cartera de dispositivos:

  • Popularidad del dispositivo
  • Diversidad de sistemas operativos
  • Diferentes tamaños y resoluciones de pantalla
  • Variabilidad de hardware
  • Diferentes métodos de entrada
  • Compatibilidad con redes

¿Son sinónimos «cartera» y «granja»?

No, «granja de dispositivos» y «cartera de dispositivos» no son sinónimos en este contexto, aunque están relacionados.

Diferencias:

  1. Cartera de dispositivos:
    • Tiene que ver con un conjunto estratégico de dispositivos que se han seleccionado de manera manual para realizar pruebas.
    • El propósito que se persigue con una cartera de dispositivos es representar la diversidad de hardware y software que es más relevante para los usuarios finales en base a la información y métricas recopiladas.
    • Hay que incluir dispositivos de diferentes marcas, sistemas operativos, gamas y configuraciones. Aquí mucho tendrá que ver el presupuesto que tenga el proyecto ya que derivará a cierta cantidad de limitaciones.
    • Puede estar distribuida físicamente en distintos lugares o en laboratorios de prueba.
  2. Granja de dispositivos:
    • Tiene que ver con un entorno automatizado y centralizado con múltiples dispositivos físicos o virtuales disponibles para pruebas remotas. Esto significa un servicio que ofrece una empresa y por ende, tiene un costo significativo en muchos casos.
    • Generalmente, está administrada a través de servicios en la nube o laboratorios internos.
    • Permite a los testers y desarrolladores ejecutar pruebas en dispositivos reales sin necesidad de tenerlos físicamente. En estos casos el equipo de testers y desarrolladores se desentienden de cualquier actualización que haya puesto que de esos temas se ocupa la empresa que ofrece dicho servicio de «granja».
    • Ejemplos de servicios incluyen Firebase Test Lab, AWS Device Farm o Sauce Labs.

Ejemplo de uso en pruebas móviles:

  • Un equipo de testers con una cartera de dispositivos puede probar manualmente en modelos específicos según las métricas de mercado y de acuerdo a las historias que se estén desarrollando y priorizadas.
  • Un equipo testers que usa una granja de dispositivos puede automatizar pruebas en cientos de modelos sin necesidad de poseerlos. Tiene muchísimos beneficios pero el proyecto debe tener presupuesto para soportarlo y consecuentemente, el PM y Líder Técnico de Calidad deben generar y administrar las correspondientes métricas para comunicar el ROI al respectivo Sponsor, tema que no es para nada menor.

«un dispositivo con un sensor de latidos cardíacos puede necesitar casos especiales de prueba»

Este ejemplo también hizo que buscara más, como para que me quedara realmente claro el tema.

  • Un smartphone con pantalla plegable puede requerir pruebas especiales para evaluar la adaptación de la interfaz cuando el dispositivo cambia entre los modos de pantalla extendida y compacta.
  • Un dispositivo con múltiples cámaras y sensores necesita pruebas específicas para asegurar que las funciones como de realidad aumentada (AR) que pueda tener, se rendericen correctamente y sin retrasos.
  • Un teléfono con soporte para redes 5G y más debe someterse a pruebas de conectividad para evaluar la estabilidad del rendimiento en diferentes tipos de redes y condiciones de señal.
  • Un smartwatch con control por gestos y comandos de voz requiere pruebas adicionales para verificar la precisión del reconocimiento de movimientos y la compatibilidad con asistentes de voz.

Punto para reflexionar: ¿Cuántos escenarios más debemos considerar verdad? ¿Cuántos escenarios vinculados con la accesibilidad y usabilidad debemos considerar para que todas las personas, no importa su condición, puedan acceder a una aplicación móvil?


Sobre UX y su importancia en este tipo de testing

En el 2018, ya me estaba interesando este tema y por ese motivo te comparto este mapa mental que seguramente debería actualizarse y que responde a una charla dada en su momento por dos colegas.

El artículo en cuestión es: Mapa Mental – La importancia de UX en el Testing de Aplicaciones para Móviles – Charla del 2016


Volviendo al tema central : Datos analíticos de móviles

Distribución de Plataformas y su Impacto en el Negocio

La distribución de plataformas móviles está dominada principalmente por Android e iOS, aunque existen otras opciones minoritarias relativas a Huawei. La cuota de mercado de cada plataforma impacta en la estrategia de pruebas y en la decisión de desarrollo de aplicaciones.

Impacto en el Negocio:

  • Empresas con presupuestos limitados pueden priorizar iOS debido a su menor fragmentación. Obviamente que tanto el desarrollo como las pruebas se estarán limitando y en esta caso, debieran ser tratados, conversados, definidos, priorizados y acordados los respectivos riesgos de producto y de proyectos, y consecuentemente el testing que se debe pensar y diseñar para ejecutarlo cuando se oportuno. Sin olvidarse el aspecto de seguridad, por supuesto y que no lo quiero dejar de lado.
  • Negocios con enfoque global deben considerar la diversidad de dispositivos Android y planificar estrategias de prueba más amplias. Por supuesto que aquí dependerá y mucho, del presupuesto con el que se cuente, ya que tiene que ver no sólo con granjas, sino con herramientas complementarias que deberán utilizarse para los diferentes tipos de prueba a implementar y todo el impacto que genera a nivel de tecnología.

Número de Descargas por Plataforma

El número de descargas por plataforma influye en la estrategia de pruebas, ya que determina la relevancia de cada ecosistema. Aquí mucho dependerá del alcance que tenga la aplicación que se esté desarrollando.

Impacto en el Negocio:

  • Android domina en volumen de descargas debido a su mayor base de usuarios, pero iOS genera más ingresos por usuario.
  • Las empresas deben priorizar las pruebas en la plataforma con mayor cantidad de usuarios dentro de su mercado objetivo.

Distribución de Versiones de Sistemas Operativos

La fragmentación del sistema operativo afecta la compatibilidad de las aplicaciones, especialmente en Android, donde coexisten múltiples versiones.

Impacto en el Negocio:

  • Las aplicaciones deben probarse en versiones populares, pero también en versiones antiguas si representan una base de usuarios significativa.
  • En iOS, las pruebas pueden enfocarse en la versión más reciente debido a la rápida adopción de actualizaciones.

Comentario final

El análisis de datos móviles es clave para definir y elaborar una estrategia de pruebas efectiva.

Factores como la distribución de plataformas, versiones de sistemas operativos, tamaños de pantalla, métodos de entrada, diversidad de cámaras y métricas de uso deben ser considerados cuando se define el alcance que tendrán la pruebas para preparar la correspondiente planificación de pruebas y así garantizar todos los aspectos principales que se hayan definido para el sprint y posteriores.

Insisto mucho en este tema de definir el alcance ya que debe ser discutido -en el buen sentido de la palabra- con todo el equipo, y principalmente con el Product Owner, ya que cada definición lleva atada una o varias tareas que implican un esfuerzo determinado y por ende, una cierta cantidad de tiempo y recursos técnicos.

Asimismo, la selección entre una cartera de dispositivos y el uso de una granja de dispositivos dependerá de la estrategia de pruebas y los recursos de la empresa, y presupuesto destinado al proyecto.

Las empresas deben equilibrar costos y cobertura para maximizar la calidad de sus aplicaciones móviles.


Fuente de inspiración: 1.1. Datos analíticos de móviles del programa de estudios de ISTQB MAT

Gus Terrera

Apasionado por el agile testing y la ia.