[vc_row][vc_column][vc_column_text]Con la llegada de Android Oreo, el ecosistema móvil de Google continua su expansión. Con esto aparecen nuevos fabricantes de equipos, que proporcionan diferentes tamaños, ROM, chips, entre otros. La complejidad de las pruebas de Android también se incrementan cada día.
A fin de enfrentar la creciente carga de trabajo de prueba, se ha convertido en una práctica común contar con un laboratorio de dispositivos basados en la nube para realizar pruebas de aplicaciones móviles escalables y automatizar las pruebas con scripts en una larga escala de dispositivos para un amplio control de calidad. Aunque existen muchas opciones en los frameworks de pruebas de Android, es importante entender los conceptos básicos y la forma en que cada framework trabaja para que la herramienta seleccionada pueda ayudarlo a satisfacer las necesidades de prueba.
En este artículo vamos a revisar los 5 frameworks de prueba más utilizados en Android y revisar los conceptos básicos.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Appium
Appium es un framework de pruebas (y herramienta) para aplicaciones nativas, híbridas y aplicaciones web para iOS y Android. Utiliza JSONWireProtocol internamente para interactuar con aplicaciones iOS y Android utilizando Selenium WebDriver. Es compatible con Android a través de uiautomator (API nivel 16 o superior) y Selendroid (nivel de API inferior al 16), iOS mediante UI Automation y aplicaciones web para el móvil mediante el controlador Selenium para Android e iOS.
Una de las principales ventajas de Appium es que puede escribir los scripts de Appium en casi cualquier lenguaje de programación (ejem Java, Objective-C, JavaScript, PHP, Ruby, Python o C#), libertad de tener que seleccionar herramientas, compatibilidad con las plataformas más importantes, libertad de tener que instalar y configurar dispositivos para pruebas, entre otras.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Calabash
Calabash es un framework de pruebas para Android y iOS, para aplicaciones nativas e híbridas. La sintaxis fácil de entender de Calabash permite incluso a personas no técnicas crear y ejecutar pruebas de aceptación automatizadas para aplicaciones en estas dos plataformas móviles. Las pruebas de Calabash se describen en Cucumber y luego se convierten en Robotium o Frank en tiempo de ejecución. Es compatible con cerca de 80 comandos diferentes en lenguaje natural y se pueden implementar nuevos controles en Ruby o Java.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Espresso
Espresso es el último framework de pruebas de Android, se encuentra disponible para que los desarrolladores y responsables de las pruebas implementen las interfaces de usuario. Espresso tiene una librería pequeña, predecible, fácil de aprender y construida en base al framework de instrumentación de Androi. Se puede escribir código conciso y confiable de las interfaces de usuario rápidamente. Es compatible con los API 8, 10 y 15 en adelante.
Es bastante confiable, se sincroniza con el sub proceso de interface de usuario y es rápido porque no hay necesidad de ningún tipo de suspensión (las pruebas se ejecutan en el mismo mili-segundo que la aplicación se pone activa). No tiene soporte para los WebViews.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
UI Automator
Si bien Robotium es un buen framework básico, Uiautomator permite hacer más pruebas en aplicaciones y juegos en Android. Los frameworks de prueba de Google permite probar la interface de usuario de las aplicaciones nativas en uno o más dispositivos. Otra ventaja de UIAutomator es que ejecuta casos de prueba de JUnit con permisos especiales, lo que significa que los casos de prueba pueden abarcar diferentes procesos.
De manera similar a su momento de nacimiento, solo funciona en dispositivos Android con API de nivel 16 o superior. Otra desventaja de UIAutomator es que tiene soporte para WebView.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Robotium
Sin lugar a dudas, Robotium fue el framework de prueba más usado en el mundo de Android. Con una similitud con Selenium en Android, hace que la API de prueba se más simple.
Robotium es una librería de código abierto que hereda de JUnit con muchos métodos útiles par las pruebas de interface de usuario de Android. Proporciona pruebas de caja negra poderosas y robustas para aplicaciones Android (nativas y robustas). Con Robotium puede escribir casos de prueba de función, sistema y aceptación y probar aplicaciones donde el código fuente esta disponible.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]Aquí hemos enumerado los mejores 5 frameworks de prueba para el desarrollo con Android. Ciertamente, cada uno tiene sus ventajas y desventajas, y depende de su objetivo y de lo cómodo que esté con cada framework. En general, Appium y Calabash son buenos frameworks multiplataforma para probar tanto sus versiones de Android como iOS al mismo tiempo. Espresso es una buena opción si está probando aplicaciones Android. Por lo tanto, piense en sus necesidades de prueba: pruebas funcionales, pruebas de compatibilidad, pruebas de interfaz de usuario, etc., y elija el framework de pruebas correcto y adecuado de Android.
Este artículo se escribió en base a Top 5 Android Testing Frameworks With Code Examples[/vc_column_text][/vc_column][/vc_row]