Apptim analiza fácilmente el consumo de recursos de apps nativas en dispositivos reales.

Apptim es una herramienta de Performance de aplicaciones móviles
Fuente: Unsplash

Hoy en día, las apps móviles nos facilitan actividades como hacer ejercicio, comunicación, entretenimiento, trabajo, estudio, compras online y un sin fin de actividades más.

Muchas de las aproximadamente 2.5 millones de aplicaciones que existen en Play Store (Android) y de las 1.8 millones en App Store (iOS) tienen propósitos similares y compiten entre sí.

Entonces, ¿cómo se diferencian unas apps de otras? ¿Con cuál app se queda el usuario final?

Los usuarios se vuelven fieles a las aplicaciones que tengan un buen rendimiento (o “performance”) y que brinden una buena experiencia de usuario: que sean rápidas, que funcionen fluidamente, que no se “cuelguen”, que no “demoren en cargar” y que no consuman demasiada batería del dispositivo.

El consumo de recursos en dispositivos móviles por parte de las apps, es sumamente importante. La performance está ligada directamente al consumo de los recursos del dispositivo y al mismo tiempo impacta directamente en la experiencia del usuario que la utiliza, y potencialmente, en su calidad de vida.

Apptim es una herramienta que permite fácilmente analizar el consumo de recursos de aplicaciones móviles nativas en dispositivos reales, ayudándonos a mitigar el riesgo de que ciertos inconvenientes de performance lleguen a producción.

En este post les contaré sobre mi experiencia utilizando esta herramienta para evaluar la performance de aplicaciones móviles, desde el punto de vista de tester de software.

¿Qué es Apptim?

Apptim es una aplicación de escritorio que testers, desarrolladores, project managers y todo tipo de usuarios pueden utilizar. Se puede instalar en Windows para testear apps nativas Android y en MacOS para testear apps nativas iOS y Android.

Apptim captura y evalúa cierta información de performance tales como: los tiempos de renderización de la aplicación, el consumo de energía, el uso de recursos y captura crashes y excepciones, al mismo tiempo que se ejecutan pruebas manuales o automatizadas sobre la aplicación bajo prueba. Posteriormente se genera un reporte con toda la información recolectada.

Además permite al usuario registrar sus notas, bugs, ideas, riesgos y tareas por hacer que surjan en su sesión de pruebas.

Uso e instalación de Apptim

Actualmente existe una versión gratuita de Apptim para uso personal (y que según la página oficial de Apptim, seguirá siendo gratuita para siempre) y dos versiones corporativas: Team y Pro, que incorporan otras funcionalidades como ser comparación de sesiones, integración con Jira y workspaces para trabajo colaborativo entre varios miembros de un equipo. Además, la versión Team tiene un Free Trial de 14 días.

En pocos minutos puedes comenzar a utilizar la herramienta, creando una cuenta en el sitio web y descargando la versión correspondiente para tu sistema operativo. Luego de descargar e instalar Apptim en tu PC, debes iniciar sesión con la cuenta creada anteriormente. Una vez que inicies sesión, Apptim detectará automáticamente las dependencias que necesita en tu máquina y te pedirá autorización para descargarlas.

Características principales de Apptim

  • Fácil de usar: La interfaz de usuario de Apptim es elegante e intuitiva, lo que hace que sea una herramienta sencilla de utilizar. Además, en su sitio web se puede encontrar documentación oficial que te ayudará en tus primeros pasos con la herramienta.
  • Fácil de configurar: Es necesario realizar algunas configuraciones muy simples que el equipo de Apptim explica en detalle en su documentación. Aquí puedes encontrar la configuración necesaria para dispositivos Android y aquí para dispositivos iOS. El esfuerzo requerido para empezar a utilizar la herramienta es mínimo ya que instalarla, iniciar una prueba y obtener los resultados en el reporte son procesos sencillos.
  • Testing de performance en apps móviles nativas: Como se mencionó anteriormente, Apptim permite evaluar el rendimiento de aplicaciones móviles nativas, o en el módulo nativo de aplicaciones híbridas. También se puede utilizar mientras se ejecutan pruebas en apps móviles web, pero el rendimiento que se mide en ese caso es el del browser que se esté usando y no el de la app bajo prueba.
  • Reportes: Luego de cada sesión de pruebas, la herramienta genera un reporte con la información de performance que recopiló. A su vez, genera un reporte para cada uno de los bugs reportados al ejecutar la sesión de testing (si es que se reportó alguno). Cada reporte se puede compartir de forma individual.
  • Integración con Jira: Las versiones Team y Pro de Apptim permiten integrarse con Jira a través de una API Key, para que el usuario pueda publicar y realizar seguimiento a los bugs directamente en esta herramienta de gestión de proyectos.
  • Testing en dispositivos reales y en emuladores Android: Para que esta herramienta funcione se debe conectar, a través de un cable USB, el dispositivo móvil a la PC donde se encuentra instalado Apptim. También se puede utilizar un emulador Android.
  • Espacios de trabajo (workspaces): Esta funcionalidad permite tener todas las sesiones centralizadas en un mismo lugar y compartirlas con un equipo de trabajo específico. Cada vez que ejecutes una sesión de prueba, podrás subirla a un workspace. Estos espacios de trabajo se pueden ver al loguearse en la misma web de Apptim. Al invitar a otros usuarios a un workspace, todos podrán ver las sesiones de prueba que hayas subido a ese espacio, así como también cada uno podrá subir sus sesiones (la opción de invitar a otros usuarios a tu workspace está disponible sólo en las versiones de pago).

Pruebas de Performance

Conversando con Sofía Palamarchuk, Co-fundadora y CEO de Apptim, me comentó que a diferencia de otras soluciones existentes, Apptim no requiere que se instale una SDK para capturar la información de performance. No es necesario cambiar nada en la aplicación que se desea probar. Por esto es que cualquier usuario (testers, devs, product owners, beta testers, etc) puede usar Apptim y acceder a los datos de rendimiento de la app.

Solo con tener la app de Apptim instalada en un dispositivo, se puede empezar a testear y medir su performance.

Apptim evalúa el rendimiento del dispositivo de forma automática mientras que la app se ejecuta, lo que evita al usuario la necesidad de tener un conocimiento profundo sobre el tema. Una vez finalizada la sesión de pruebas se genera un reporte sobre el consumo de recursos por parte de la app. El equipo de Apptim armó esta guía en donde se explican las diferentes secciones de los reportes y las métricas que aparecen para mejor entendimiento de toda la información.

Durante la sesión de pruebas, Apptim mide el comportamiento del dispositivo correspondiente al consumo del CPU, memoria RAM, red y batería, mientras la aplicación bajo prueba se ejecuta.

Posteriormente, en el reporte, se muestran advertencias en amarillo y alertas en rojo de los consumos que están por encima de los límites por defecto que sugiere Apptim. Estos límites están basados en buenas prácticas para desarrollo Android y para desarrollo iOS), junto con otros hallazgos realizados en estudios de mercado.

Además, en cada excepción que Apptim detecte durante la sesión exploratoria, toma una captura de pantalla del dispositivo de forma automática y la asocia al issue en el reporte.

Sesiones de Testing

Apptim permite ejecutar sesiones de prueba de 30 minutos y registrar notas, bugs detectados, riesgos encontrados, ideas y to-dos que surjan en la sesión de pruebas.

En cada bug reportado, se puede incluir una captura de pantalla (e incluso editarla) así como también un video relacionado al incidente a modo de evidencia, que Apptim toma de forma automática. El usuario solo debe indicar que desea adjuntar una imagen o un video en el reporte del bug.

Pantalla de Apptim para reportar los bugs o incidentes encontrados
Imagen 1- Pantalla para reportar bugs

Además, las versiones Team y Pro de la herramienta permiten al usuario seleccionar dos sesiones y compararlas entre sí. La comparación la hace la herramienta automáticamente y muestra las diferencias en pantalla. Esta funcionalidad es super útil para analizar los resultados de performance, entender como ciertas acciones impactan en el rendimiento y visualizar las tendencias de consumo.

Comparación de sesiones en Apptim para analizar los resultados de performance
Imagen 2 – Comparación de sesiones

Reporte de Performance

Como remarcó el COO de Abstracta, Federico Toledo “Toda optimización que no sea sobre el cuello de botella es una ilusión de mejora“. El Reporte de Apptim, que se genera de forma automática al finalizar una sesión de pruebas, nos permite visualizar y entender fácilmente donde se encuentran los cuellos de botella respecto al consumo de recursos, para poder mejorar y optimizar el rendimiento de la app de la forma más adecuada.

Como mencioné anteriormente, este reporte nos brinda un detalle del consumo que hace la app de los diferentes recursos del dispositivo móvil, mostrando diferentes indicadores. Además, incluye gráficas que muestran la evolución del uso de los mencionados recursos por parte de la aplicación durante el tiempo que duró la sesión de pruebas.

Indicadores de performance en el reporte de Apptim
Imagen 3 – Indicadores de performance en el reporte
Gráficas de consumo de recursos en el reporte de Apptim
Imagen 4 – Consumo de recursos en el reporte

El reporte también incluye un video de la sesión realizada, capturas de pantalla y logs asociados a cada excepción (aun si no se visualizó ninguno durante la sesión), que nos permiten visualizar que estaba sucediendo en la app al mismo tiempo en que Apptim atrapaba la excepción.

El reporte se puede ver localmente en la PC en la que se ejecutaron las pruebas, pero también lo puedes publicar en tu workspace (en la nube de Apptim) para compartirlo invitando a los usuarios a ese espacio de trabajo, o a través de un link.

Por defecto, todos los reportes publicados en un workspace se pueden compartir a través de un link público. Es decir, cualquier usuario con el link puede acceder a los al reporte sin necesidad de tener una cuenta creada en Apptim.

¿Qué incluye el reporte que proporciona Apptim?

  • Grabación de pantalla del dispositivo durante la ejecución de la sesión de pruebas.
  • Alertas y advertencias relacionadas a la experiencia de usuario, pintadas en amarillo o rojo según su severidad (siendo el amarillo menos severo que el rojo).
  • Alertas y advertencias relacionadas al consumo de recursos del dispositivo, con umbrales de referencia, pintadas en amarillo o rojo según su severidad (siendo el amarillo menos severo que el rojo).
  • Datos del ambiente de pruebas (info. del dispositivo, info. de la app, versiones, etc).
  • Detalle de Crashes/Excepciones con capturas de pantalla asociadas y el minuto exacto de la sesión de pruebas en el que sucedió esa excepción, para poder ubicar el momento específico en el video.
  • Detalle del consumo de recursos, con gráficas asociadas.
  • Logs y artefactos descargables recogidos durante la sesión de pruebas.

Por otro lado, la herramienta genera reportes por separado para cada bug registrado por el usuario durante la sesión exploratoria. Estos bugs pueden ser compartidos de forma independiente ya que cada uno tiene su propio link.

Como se mencionó anteriormente, Apptim permite subir a Jira los bugs reportados a través de un simple click.

Reporte de bugs en Apptim, herramienta de performance de aplicaciones móviles
Imagen 5 – Reporte de bugs en Apptim
Reporte de bugs a Jira en Apptim, herramienta de performance de aplicaciones móviles
Imagen 6 – Reportar bug a Jira

Próximos puntos a mejorar en Apptim

Estoy al tanto de que el equipo de Apptim está trabajando en mejorar la herramienta para hacerla lo más robusta y útil posible.

De todas maneras, hay algunas cosas que me gustaría ver en una próxima versión de Apptim:

  • Que nos ayude a entender de principio a fin todas las capas que hay detrás de una acción del usuario en la app, con el fin de mejorar el rendimiento general de la misma.
  • Más descripciones, explicaciones y/o tooltips que ayuden a un mejor entendimiento de los resultados del reporte de performance.
  • Recomendaciones que ayuden a resolver las advertencias y alertas que se muestran en el reporte de performance.
  • Mejorar el modo en que la información está ordenada en el reporte de performance.
  • Mejorar la forma en que se muestran las gráficas en el reporte de performance, con respecto a los colores y las vistas.
  • Métricas y alertas en tiempo real que permitan ver como se están usando los recursos del dispositivo en la sesión de pruebas, para ir guiando las pruebas según lo que se vaya detectando en el momento.
  • Permitir que las sesiones de prueba duren más de media hora.
  • Permitir que se agreguen notas, riesgos, ideas y to-dos, una vez que la sesión de pruebas haya terminado.
  • Poder exportar las notas, riegos, ideas y to-dos a un archivo PDF o compartirlas a través de un reporte web.

Conclusiones generales

Desde el punto de vista de Tester de Software, puedo decir que Apptim aporta un enorme valor agregado al proceso de pruebas de apps Android e iOS, sin requerir demasiado esfuerzo por parte del usuario.

En cada reporte se brinda mucha información útil que sirve como insumo para detectar, mitigar y prevenir riesgos y bugs referentes a la performance de las aplicaciones.

Es una herramienta de performance de aplicaciones móviles sencilla de incorporar, intuitiva, fácil de usar y que no requiere grandes conocimientos relacionados a performance.

Recomiendo que le den una oportunidad a la herramienta y la usen cuando ejecuten pruebas de performance de aplicaciones móviles. ¡Luego me comentan que les pareció!

Webinar de Apptim

El pasado 29 de octubre fue invitado por la comunidad QA & Testing Chile a brindar un webinar sobre performance de aplicaciones móviles y Apptim. El webinar contó con más de 80 asistentes que se sumaron desde Chile y varios lugares de todo Latinoamérica.

Temario

  • Breve introducción a Performance.
  • Impacto de la performance de aplicaciones móviles en la empresa que las desarrolla (negocio) y en el usuario final.
  • Características principales de Apptim.
  • ¿Qué es?
  • ¿Cómo funciona?
  • Uso e instalación.
  • Funcionalidades.
  • Indicadores de performance y reporte.
  • Demo de la herramienta Apptim.

Q&A del Webinar una mirada hacia Apptim

1. ¿Cómo puedo saber con Apptim si una aplicación consume un 5% de memoria ram en el test que hago? ¿Con qué criterio puedo decir que ese es un consumo alto o bajo? ¿Dónde se podrían encontrar esos estándares?

Los estándares que maneja Apptim en su reporte son genéricos. Al lado de cada indicador de performance que se ve en el reporte, podrás ver los límites “Moderate” y “Warning”. Estos límites de Apptim están basados en estudios de mercado y en varios análisis realizados por los ingenieros de Apptim. No existe un listado con estándares como tal. Lo que sí existen son algunas buenas prácticas y algunas recomendaciones que se hacen en los blogs de desarrolladores oficiales de Android y de iOS. La documentación es bastante extensa. Aun así, puedes indagar un poco más sobre los estándares en Android e iOS.

Aquí está el acceso al reporte que generamos en vivo para la aplicación Jumbo, por si sirve de ejemplo.

2. Si quiero ejecutar mi batería de pruebas de manera automática con Java y appium, ¿es posible integrarle Apptim?

Efectivamente, es posible integrar Apptim con pruebas automatizadas en Appium, y tienes varias formas de hacerlo, dependiendo de cómo las vayas a ejecutar.

Si ejecutas tus pruebas automáticas manualmente (dandole click a “Play”) desde tu PC directo en un dispositivo físico, lo que puedes hacer es lo que hicimos en la demo del webinar: descargar Apptim, conectar el dispositivo a la PC a través del USB y crear en Apptim una sesión de pruebas para la app que estés probando. Una vez que hagas eso, puedes ejecutar tu batería de pruebas automáticas en el dispositivo. Mientras las pruebas se ejecutan, Apptim recolectará los datos de consumo de recursos. Esto lo puedes hacer tú mismo, y lo puedes hacer con la versión gratuita de Apptim.

Por otro lado, si tus pruebas automáticas corren en un pipeline (por ejemplo Jenkins) también puedes integrar Apptim a ese pipeline, pero eso requiere una solución a medida y tiene un costo asociado. Puedes ponerte en contacto con el equipo de Apptim aquí, para que te asesoren mejor en ese caso.

Por último, si deseas aumentar la cobertura de tus pruebas automáticas con respecto a los dispositivos, Apptim tiene una ‘device farm’ en la nube. Puedes contratar ese servicio para correr tus pruebas automatizadas en varios dispositivos en paralelo. Puedes seleccionar en cuales de los dispositivos disponibles deseas que tus pruebas se ejecuten. Esta también es una solución a medida y tiene costo. Si deseas una solución como esta, te recomiendo que te pongas en contacto con el equipo de Apptim.


Otros contenidos relacionados

¿Cómo realizar Pruebas de Software en una Aplicación Móvil?

¿Cómo armar un Plan de Puebas de Performance?

Canal de Youtube de Apptim