lunes, 5 de enero de 2015

Automatización de Pruebas en App Mobile con MonkeyTalk (I)


1 Introducción.

El éxito de las aplicaciones móviles, presenta uno de los mayores retos en el área de la automatización de pruebas: ¿cómo conseguir automatizar las pruebas funcionales con independencia de la tecnología de la app (Web o Nativa), del sistema operativo (Android, IOs, etc..) y del extraordinario número de terminales que se encuentran en el mercado?

Las ventajas que presenta la automatización se hacen mucho visibles cuando nos movemos en el mundo "mobile". La posibilidad de disponer de nuestros scripts listos para la ejecución en paralelo en un conjunto grande de dispositivos (reales o emulados) de diferentes características supone un ahorro de tiempo que sin lugar a dudas debe ser valorado adecuadamente. 

En el siguiente vídeo se puede observar el resultado de la "demo" que hemos preparado para elaborar esta entrada ejecutando una TestSuit automática de manera desatendida sobre dispositivos de muy diferentes características:
  • Dispositivo Real Samsung Galaxy Trend con Android 4.0.
  • Dispositivo Real Tablet Acer Iconia A100 con Android 4.0.
  • Dispositivo Emulado Nexus 5 con Android 2.2.




En esta entrada vamos a ver un framework de automatización de pruebas para apps mobile con la herramienta de automatización MonkeyTalk, cuyas principales características son:

  • Soporte de aplicaciones nativas, web e híbridas para IOs y Android.
  • Permite la grabación y ejecución sobre emuladores o sobre dispositivos reales.
  • Disposición de un entorno de desarrollo JavaScript.
  • Dispone de una versión Open Source (free) y una versión licenciada.

2 Framework de Automatización.

El diseño de un framework de automatizaciòn de aplicaciones móviles requiere en muchas ocasiones de la realización de actividades de configuración que implican la integración de diferentes herramientas en las diferentes etapas del proceso de automatización. Es un proceso en el que nos encontremos diferentes retos: configuración del framework de desarrollo, integración con la herramientas de automatización, despliegue e instrumentación de la App a probar, conectividad con los dispositivos físicos sobre los que realizaremos las pruebas, etc...

 

En esta entrada nos centraremos en un entorno para la herramienta MonkeyTalk que es la que hemos utilizado en nuestra demo.
  • Entorno: Ya vimos en nuestra entrada El Tester del Futuro, que las habilidades de los ingenieros de Pruebas debían evolucionar hacia aspectos más técnicos. Esto se hace palpable cuando nos movemos dentro de las aplicaciones móviles donde necesitamos configurar un entorno similar al de los desarrolladores:
     
    • Framework Eclipse con el budle de Android.
    • SDK de Android.
    • Herramienta de Integración Continua para permitir el lanzamiento de nuestros scripts automáticos desde línea de comando. En nuestro caso hemos utilizado Apache ANT.

  • Configuración: Una vez que disponemos de nuestro entorno de automatización, deberemos realizar la configuración e integración de todos los elementos. En concreto, necesitaremos:
    • Disponer del código de la app y desplegarlo en nuestro entorno de desarrollo (Eclipse).
    • Instrumentar la app bajo pruebas mediante la introducción de las clases de la herramienta de automatización.
    • Desplegar la app instrumentada en los dispositivos móviles (reales o emulados) donde realizaremos las pruebas.
    • De cara a preparar la ejecución de nuestras pruebas en varios dispositivos, podemos proveer la conectividad entre nuestro controlador y los dispositivos por medio de Wifi o USB. Logicamente la posibilidad de poder conectar el mayor número de dispositivos lo obtendremos haciendo uso de una red WIFI local.


En la siguiente entrada nos centraremos en las actividades propias de la automatización: Grabación, Construcción de Scripts, Ejecución y Análisis de Resultados.

  • ¿Cómo es tu experiencia con la automatización de pruebas sobre aplicaciones móviles?
  • ¿Qué herramientas utilizas?
  • ¿Es muy diferente respecto a la automatización tradicional?
Te invitamos a compartir tu experiencia en nuestro blog dejando un comentario.

No hay comentarios:

Publicar un comentario