Registro:
Documento: | Tesis Doctoral |
Título: | Generación aleatoria de casos de test Espresso para Android |
Título alternativo: | Random Espresso Test Case Generation for Android |
Autor: | Arcuschin Moreno, Iván |
Editor: | Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales |
Lugar de trabajo: | Universidad de Buenos Aires - CONICET. Instituto de Investigación en Ciencias de la Computación (ICC)
|
Fecha de defensa: | 2024-04-12 |
Fecha en portada: | 2023 |
Grado Obtenido: | Doctorado |
Título Obtenido: | Doctor de la Universidad de Buenos Aires en el área de Ciencias de la Computación |
Departamento Docente: | Departamento de Computación |
Director: | Galeotti, Juan Pablo |
Consejero: | Melgratti, Hernán Claudio |
Jurado: | Gorla, Alessandra; Degiovanni, Renzo; D'Amorim, Marcelo |
Idioma: | Español |
Palabras clave: | ANDROID; ESPRESSO; GENERACION DE CASOS DE TEST; ORACULOS DE TEST; ALGORITMOS BASADOS EN BUSQUEDAANDROID; ESPRESSO; TEST GENERATION; TEST ORACLES; SEARCH-BASED SOFTWARE TESTING |
Formato: | PDF |
Handle: |
http://hdl.handle.net/20.500.12110/tesis_n7499_ArcuschinMoreno |
PDF: | https://bibliotecadigital.exactas.uba.ar/download/tesis/tesis_n7499_ArcuschinMoreno.pdf |
Registro: | https://bibliotecadigital.exactas.uba.ar/collection/tesis/document/tesis_n7499_ArcuschinMoreno |
Ubicación: | COM 007499 |
Derechos de Acceso: | Esta obra puede ser leída, grabada y utilizada con fines de estudio, investigación y docencia. Es necesario el reconocimiento de autoría mediante la cita correspondiente. Arcuschin Moreno, Iván. (2024). Generación aleatoria de casos de test Espresso para Android. (Tesis Doctoral. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales). Recuperado de http://hdl.handle.net/20.500.12110/tesis_n7499_ArcuschinMoreno |
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.
Abstract:
Testing is an integral part of the Android application development process: by running regularly testing their apps, developers can verify correct behavior and usability before making the applications available to the public. Espresso is a testing framework that allows developers to write concise, reliable, and readable Android user interface (UI) test cases and is the only UI testing framework with widespread adoption among application developers. Several automated test generation tools have been proposed to assist developers in the testing task. However, many of these tools only report errors and do not produce executable test cases, and of those that generate tests, only some support the Espresso format. This thesis focuses on improving the generation of Espresso test cases for Android applications. We begin by conducting an empirical study comparing the effectiveness of different evolutionary algorithms and show that such algorithms are not suitable for generating Android test cases, often being surpassed by purely random algorithms. Next, we analyze the challenges of generating Espresso test cases, using a translation-based approach that leverages the output of existing automated testing tools. We find that one of the main challenges is the lack of unique properties to unequivocally identify specific widgets in the UI. This is exacerbated by the fact that many tools use the Android Accessibility Service, which can return inconsistent information. Finally, this thesis presents a technique for generating Espresso test cases that are significantly more reliable than those generated using the translation-based approach, according to an experimental evaluation on 1,035 Android apps. This technique includes novel algorithms for generating Espresso View Matchers that concisely select Android widgets and for creating Espresso View Assertions used in regression tests. It also directly utilizes the Espresso framework to gather information and interact with the application under test.
Citación:
---------- APA ----------
Arcuschin Moreno, Iván. (2024). Generación aleatoria de casos de test Espresso para Android. (Tesis Doctoral. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales.). Recuperado de https://hdl.handle.net/20.500.12110/tesis_n7499_ArcuschinMoreno
---------- CHICAGO ----------
Arcuschin Moreno, Iván. "Generación aleatoria de casos de test Espresso para Android". Tesis Doctoral, Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales, 2024.https://hdl.handle.net/20.500.12110/tesis_n7499_ArcuschinMoreno
Estadísticas:
Descargas totales desde :
Descargas mensuales
https://bibliotecadigital.exactas.uba.ar/download/tesis/tesis_n7499_ArcuschinMoreno.pdf