Pages Menu
Categories Menu

Posted by on Abr 1, 2016 in General | 1 comment

Xamarin Test Cloud for Dummies

Allá por verano, ya escribí acerca de la automatización de pruebas para aplicaciones móviles utilizando Calabash como framework, y el desarrollo guiado por el comportamiento, es decir, BDD (te dejo también un post sobre BDD):

 

Y además, hicimos un vídeo-demo, de 1 minuto, sobre cómo automatizar pruebas para aplicaciones móviles, lo puedes ver aquí.

Hoy con este post quiero ir más allá hablando de Xamarin Test Cloud para probar y ejecutar nuestras aplicaciones en cientos de dispositivos, ya que una de las características de Calabash (desarrollado por LessPainful y comprado por Xamarin) es estar vinculado con Xamarin Test Cloud.

¿Qué es Xamarin Test Cloud?

Tradicionalmente, hacer pruebas contra interfaz de usuario es muy costoso (ya lo decía Mike Cohn en su libro Succeeding with Agile” ), se requiere una gran cantidad de mano de obra para implementar la aplicación, probarla y usarla verificando que se comporta correctamente.

Además, si multiplicas ese esfuerzo/coste por cada prueba que haya que hacer, así como por cada dispositivo en el que haya que probar, se dispara el coste de manera exponencial, lo que hace poco eficaz las pruebas contra interfaz de usuario.

Xamarin Test Cloud es un servicio basado en la nube que ofrece una forma automatizada de hacer pruebas de aceptación contra interfaz de usuario de aplicaciones móviles a través de cientos de diferentes dispositivos (puedes ver aquí esta colección de dispositivos) haciendo estas pruebas mucho menos costosas que manualmente.

Ejecutar la aplicación y las pruebas en Xamarin Test Cloud es conceptualmente similar a la realización de pruebas en local, a excepción de que Xamarin Test Cloud recoge las pruebas y las ejecutará en los dispositivos seleccionados (se pueden seleccionar en función del fabricante, del sistema operativo, o incluso su popularidad en el mercado).

Una vez que se ha desarrollado una funcionalidad y su prueba en local, estos se suben al Test Cloud que, instalará la aplicación y ejecutará las pruebas en cientos de dispositivos reales (los que hayas seleccionado). Una vez que todas las pruebas se han completado, Test Cloud enviará una notificación con los resultados de las pruebas.

En la siguiente imagen os dejo gráficamente este recorrido de manera muy sencilla:

Ciclo

Recorrido Xamarín Test Cloud

Estas pruebas contra interfaz de usuario automatizadas pueden ser escritas usando dos framework:

 

En 233 Grados de TI, usamos y recomendamos Calabash para estas pruebas porque usamos BDD para el desarrollo (aquí te dejo un post en el que te muestro las diferencias entre Calabash y Appium, otro framework de automatización de pruebas móviles), pero…

Qué framework debo usar… ¿Xamarin.UITest o Calabash?

En la propia página, Xamarín nos proporciona un diagrama de flujo a modo de guía general para ayudar a decidir qué framework utilizar para escribir pruebas de Test Cloud Xamarin, puedes ver este flujo aquí.

Básicamente este diagrama se resume en, si la aplicación se ha desarrollado con Xamarín utilizar el framework Xamarin.UITest, en caso contrario, utilizar Calabash para escribir nuestros test.

Utilizando App Explorer para probar la aplicación

Hay dos maneras de utilizar Test Cloud para probar la aplicación (no las únicas pero sí las más usadas). La primera de ellas, la que más fácil es Cloud App Explorer, en la cual básicamente se arrastra la aplicación al Test Cloud (ahora lo explico con más detalle).

La segunda opción es crear pruebas automatizadas contra interfaz de usuario utilizando el framework Calabash. Estas pruebas se cargan con la aplicación y son ejecutadas en Test Cloud. Las pruebas en Calabash son similares a las pruebas unitarias, excepto que prueban la interacción con la interfaz de usuario validando que el comportamiento sea correcto, mientras que las pruebas unitarias prueban y verifican el funcionamiento de partes específicas de una aplicación

App Explorer es muy fácil de usar, basta con desarrollar y generar la aplicación (un archivo .ipa para iOS, o un archivo .apk para Android), subir a la aplicación a la web Xamarin Test Cloud, elegir los dispositivos donde se quiere probar, comenzar las pruebas, y luego esperar los resultados, como bien se puede ver en la primera imagen.

App Explorer es una manera casi sin esfuerzo de hacer la validación a través de una variedad de dispositivos de forma rápida. Cuando App Explorer ejecuta en un caso de fracaso (por ejemplo, que la aplicación se bloquee, que haya algún tipo de error, etc.), informará del error y cuál fue la causa.

De manera muy resumida, App Explorer funciona definiendo en primer lugar diferentes “Tours” de su aplicación (un Tour es una serie de acciones tales como hacer clic en los botones, la navegación alrededor, etc.) en un único dispositivo de referencia, re-desplegando esa aplicación a todos los dispositivos que haya elegido para probarlo. Puedes leer más sobre esto aquí.

Terminando…

Todo esto que os estoy contando, permite a cualquier persona asegurar que su aplicación funciona correctamente y de manera eficiente a través de una variedad de dispositivos, con el mínimo esfuerzo. Debido a que el servicio de Xamarin está basado en la nube, los esfuerzos de mantenimiento y adquisición se retiran del consumidor, para que este pueda centrarse en su aplicación.

Algunas empresas que usan Xamarín son Microsoft que anunciaban en febrero de 2016 que adquirirán Xamarin para sus pruebas (aquí puedes ver más de por qué Microsoft adquiere Xamarín y su suite de  herramientas), y también  SAP usará Xamarín.

Hasta aquí el post de hoy, seguiré en post posteriores hablando de ello e investigando, puesto que me parece muy interesante y realmente efectivo =).

 

María Morales

María Morales

Practitioner at 233 Grados de TI
Interesada y apasionada en todo aquello que tenga relación con metodologías ágiles y calidad software, gestión de proyectos, modelos de procesos, DevOps y sobre todo en gestión de equipos.

Actualmente, colabora activamente con la Empresa y Comunidad 233, dando formación y mentoring ágil además de organizando eventos, charlas e iniciativas para difundir el conocimiento sobre Ingeniería del Software.

Profesionalmente dedicada al mentoring ágil en 233 Grados de TI, calidad software, testing ágil, a la implantación en importantes organizaciones de Scrum, agilidad, DevOps, Product Owner, peopleware, automatización de pruebas web y móviles con BDD, Calabash.

Certificada por la Scrum Manager como Scrum Manager con credenciales de profesora, entre otras certificaciones, como por ejemplo en GIT y GitHub.
María Morales

1 Comment

  1. Buenos días, apenas estoy empezando en este mundo de Xamarin, mi enfoque sera realizar las pruebas y la verdad estoy un poco enredada no se por donde empezar, si alguien pudiera ayudarme se lo agradecería mucho puesto que estoy muy interesada en esta metodología.

Post a Reply

Tu dirección de correo electrónico no será publicada.

Share This