Como ya sabréis, alguno de mis compañeros de 233 Grados de TI estuvieron este verano en la conferencia Agile 2015 Washington D.C. #Agile2015 (Javier ya dejó un post sobre ello, aquel de Agile 2015 Washington D.C. #Agile2015), y uno de los temas que se trató mucho fue el testing, y en este caso concreto, la automatización de pruebas de aceptación para aplicaciones móviles en entornos ágiles.
Y ya no solo es un tema que se trató en la conferencia, personalmente cada vez es mayor la necesidad de llevar a cabo esta buena práctica en importantes organizaciones y de hecho es una de las actividades profesionales en las que ahora estoy metida.
Hará hace un mes aproximadamente escribí una serie de dos post sobre Calabash (te dejo los link de la parte 1 y de la parte 2 de la serie) y comenté que más adelante quizá me animaba a escribir un post comparando algunas herramientas para la automatización de pruebas móviles. Bien, pues en relación con lo anterior, ese día ha llegado.
A parte de Calabash, obviamente, hay otras herramientas para la automatización de pruebas móviles, destacando, como por ejemplo, Appium y Robotium, entre otras. En este post voy a hacer una comparativa muy sintetizada entre Calabash y Appium ya que son las herramientas más sonadas a día de hoy para la automatización.
No voy a entrar en ventajas o limitaciones (pros o contras) de las herramientas puesto que lo que para unos puede ser una ventaja para otros puede ser una limitación. De esta manera podremos ver cuál de las dos herramientas se adapta mejor a nuestras necesidades.
Calabash
Como ya comenté en Pruebas automatizadas para aplicaciones móviles: Calabash for dummies, Calabash es un framework open source que básicamente lo que es hace es lanzar de manera automatizada interacciones de interfaz de usuario, no me extiendo más aquí ya que puedes leer más sobre Calabash en los dos post que te he dejado al comienzo.
Appium
Appium también es una herramienta open source para la automatización de pruebas para aplicaciones web móviles, nativas e híbridas, basada en el popular framework de testeo, Selenium.
Appium fue diseñado para satisfacer las necesidades de automatización de pruebas móviles de acuerdo con una filosofía esbozada por los siguientes cuatro principios:
- No tener que recompilar o modificar la aplicación a automatizar .
- No tener que trabajar solo en un idioma o marco específico para escribir y ejecutar las pruebas .
- Un framework de automatización de pruebas móviles no debe reinventar la rueda.
- Un framework de automatización de pruebas móviles debe ser de código abierto.
Puedes leer más sobre Appium aquí.
Calabash vs Appium
En la siguiente tabla os voy a dejar una comparación entre estas dos herramientas para automatizar aplicaciones móviles, Calabash y Appium.
Calabash | Appium |
Open source, Cross Platform | Open source, Cross Platform |
Plataformas compatibles: Android, IOs | Plataformas compatibles: Android, IOs, FirefoxOS |
Arquitectura basada en HTTP | Arquitectura basada en HTTP |
Pruebas escritas en Ruby y Java | Pruebas escritas usando cualquier lenguaje compatible a Selenium WebDriver |
Test framework: Cucumber | Test Framework: agnóstico, es una herramienta de automatización no solo para testing |
App nativas e híbridas | App nativas e híbridas y web para móviles |
API y sistemas de consulta especializados | — |
Soporta todas las versiones de Android e IOs | Soporta Android 4.2 o superior (usando el control de dispositivos a través de Google’s UiAutomator) o Android 2.3 o superior ( usando Google’s Instrumentation) |
La documentación no es buena | La documentación tampoco es muy buena |
¿Cuál debería elegir?
Si conocías la existencia de estas herramientas, pero no sabes cuál se adapta mejor a tus necesidades, yo elegiría:
- Appium, si prefieres una herramienta menos restrictiva en cuanto a lenguajes, si tienes conocimientos sobre Selenium (usando Appium puedes aprovechar esos conocimientos) y si quieres probar un sitio web para móviles, además de aplicaciones nativas e híbridas.
- Calabash, si prefieres una herramienta más enfocada a BDD (recuerda lo qué se ha hablado sobre BDD en el blog) con Ruby y Cucumber y además tienes experiencia y conocimiento en ello.
Si no conocías la existencia de estas herramientas, en caso de duda, en mi opinión, Calabash es más fácil de aprender para empezar y si tienes experiencia con Capybara en BDD (os dejo un link sobre Capybara), es exactamente la misma estructura.
- Diario: cómo Javier Garzás evita quedarse obsoleto estudiando a un X10 con IA-Esteroides - 7 noviembre, 2024
- Si creas Historias de Usuario con IA ¿A quién pertenecen? ¿A ti o la IA? El mono Naruto te lo explica - 31 octubre, 2024
- HistorIAs de usuario y como a Maximiliano lo ENGAÑABAN con la IA y como una viejuna historia del 1500 le salvó - 24 octubre, 2024
Estuve trabajando con Appium y es muy similar a lo que vemos en selenium. Vale aclarar que estas herramientas permiten el uso de Emuladores para su ejecución como GenyMotion o el propio ADV de android.¿No se si sea el medio adecuado, pero no se se se pueda realizar pruebas emuladas en IOS? Gracias.
Hola, si se pueden ejecutar pruebas en iOS, te dejo un link http://www.testingdiaries.com/appium-ios-setup-native-apps/
Saludos
Hola amigos, me interesó el tema, me gustaría probar Appium, tienen algún manual de isntalación para realizar pruebas a móviles, ya que solo he encontrado una muy tediosa.
Saludos.