Cargando Eventos
Título: «Mejorando la generación de casos de test Espresso para aplicaciones Android»
Director: Iván Arcuschin Moreno
Jurados: Martín Urtasun,  Leandro Nahabedian
Día y hora: Viernes 12 de Abril, 10:00hs
La misma será transmitida al público general a través del siguiente link:
Solicitamos que por favor al conectarse silencien sus micrófonos.
Resumen:

En las aplicaciones móviles se debe testear no solo los objetos de negocio y los objetos que interactúan con el sistema operativo, sino que también la interfaz de usuario(UI). Esta clase de tests son conocidos como tests de UI y su objetivo es dar garantías de que la interfaz de la aplicación se comporte como se espera ante las interacciones realizadas en cada test sobre los distintos widgets que componen las pantallas.

Realizar tests correctos y completos de una vista puede llevar más tiempo que desarrollar la vista en sí, por lo que en la práctica muchas veces no son escritos. En el caso particular de Android, el principal framework utilizado para este fin es Espresso, y la escritura de los tests es responsabilidad del desarrollador, ya que se requiere conocimiento técnico de Android y del código de la aplicación a testear.

MATE es una herramienta capaz de interactuar con los widgets de la pantalla de una aplicación utilizando el sistema de accesibilidad de Android, sin necesidad de interactuar con un humano. Una vez finalizada las exploraciones se genera un archivo con las acciones realizadas en cada paso y los widgets sobre los que se realiza cada acción.

ETG es un prototipo académico que se ocupa de generar casos de prueba Espresso recibiendo como input la descripción de una serie de acciones realizadas en los widgets de una aplicación. Si bien el input puede tener cualquier procedencia, en esta tesis se utiliza el output de MATE ya que dicha herramienta realiza acciones sobre widgets particulares al igual que Espresso. El objetivo de esta herramienta es lograr documentar casos funcionales de una navegación correcta sobre una aplicación y, además, servir como punto de partida para la escritura de nuevos casos de tests.

Se trabajó en mejorar ETG para conseguir casos de tests fieles al input recibido. Se realizaron pruebas sobre aplicaciones creadas específicamente para la búsqueda de casos problemáticos donde la herramienta no se comporte correctamente y los casos generados presenten errores. Luego, se evaluó el rendimiento de la herramienta en una aplicación industrial de gran tamaño y, finalmente, se definen ideas y posibilidades de uso en la industria.