It was never so easy to get YouTube subscribers
Get Free YouTube Subscribers, Views and Likes

Defensa de Tesis de Doc Iván Arcushin: Generación aleatoria de casos de test Espresso para Android

Follow
Computación, Exactas - UBA

Título: Generación aleatoria de casos de test Espresso para Android
Doctorando: Lic. Iván Arcushin Moreno

Director de tesis: Dr. Juan Pablo Galeotti
Consejero de Estudios: Dr. Hernán Melgratti

Jurados:
Dr. Renzo Gaston Degiovanni
Dr. Marcelo D'Amorim
Dra. Alessandra Gorla

RESUMEN

El testing es una parte integral del proceso de desarrollo de aplicaciones Android: al correr casos de test regularmente en sus aplicaciones, los desarrolladores pueden verificar el correcto comportamiento y la usabilidad antes de poner las aplicaciones a disposición del público. Espresso es un framework de testing que permite a los desarrolladores escribir casos de test de interfaz de usuario (UI) Android concisos, confiables y legibles, y es el único framework de testing de UI con una amplia adopción entre los desarrolladores de aplicaciones. Se han propuesto varias herramientas de generación automática de tests para ayudar a los desarrolladores en la tarea de testing.
Sin embargo, muchas de estas herramientas no producen casos de test ejecutables, solo informan errores, y de las que generan tests, sólo algunas admiten el formato Espresso.
Esta tesis se centra en mejorar la generación de casos de test Espresso para aplicaciones Android. Comenzamos realizando un estudio empírico que compara la efectividad de distintos algoritmos evolutivos y muestra que dichos algoritmos no son adecuados para generar casos de test Android, siendo muchas veces superados por algoritmos puramente aleatorios. A continuación, analizamos los desafíos de generar casos de test en formato Espresso, utilizando un enfoque basado en traducción que aprovecha la salida de herramientas de testing automático existentes. Encontramos que uno de los principales desafíos es la falta de propiedades únicas para identificar de manera inequívoca widgets específicos en la UI. Esto se agrava debido a que muchas herramientas utilizan el Servicio de Accesibilidad de Android, que puede devolver información inconsistente.
Finalmente, esta tesis presenta una técnica para generar casos de test Espresso que son ampliamente más confiables que los generados utilizando el enfoque basado en traducción según una evaluación experimental en 1.035 apps Android. Esta técnica incluye algoritmos novedosos para generar View Matchers de Espresso que seleccionan de manera concisa widgets de Android, y para crear View Assertions de Espresso que sirven para tests de regresión. Utiliza además el framework Espresso directamente para obtener información e interactuar con la aplicación bajo test.

Palabras claves: Android, Espresso, generación de casos de test, oráculos de test, algoritmos basados en búsqueda.

posted by trzaj1h