Alessandro Fedriga
Adaptive GUI test evolution and oracle maintenance in Android.
Rel. Riccardo Coppola, Tommaso Fulcini. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2025
|
Preview |
PDF (Tesi_di_laurea)
- Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives. Download (2MB) | Preview |
Abstract
Automated GUI testing is essential in contemporary Android development, yet it is notoriously fragile, particularly when utilizing dynamic frameworks like Jetpack Compose. Even minor changes to the UI frequently cause test failures, resulting in continuous integration pipelines being overwhelmed with false positives and developers facing expensive maintenance efforts. This thesis introduces a developer-in-the-loop approach leveraging Large Language Models (LLMs)—specifically GitHub Copilot combined with Claude 3.7 Sonnet—as a zero-shot test repair agent embedded within Android Studio. By examining IDE context, this strategy effectively repairs broken selectors, modifies test oracles, and preserves test logic after GUI modifications. An empirical assessment of this technique was conducted on the Bitwarden for Android mobile application, an open-source project with 1083 GUI tests.
The analysis covered two recent versions of the application, identifying test failures and applying the LLM to address these issues
Tipo di pubblicazione
URI
![]() |
Modifica (riservato agli operatori) |
