On overcoming challenges with GUI-based test automation

Abstract: Automated testing is widely used in modern software development to check if the software meets its requirements, including its graphical user interface (GUI).GUI-based test automation, like other automation, aims to save time and money compared to manual testing.While automation has successfully reduced costs for other types of testing (e.g., unit- or integration tests), GUI-based testing has faced technical challenges, some of which have lingered for over a decade.This thesis work aims to contribute to the software engineering body of knowledge by (1) identifying the main challenges in GUI-based test automation and (2) finding technical solutions to mitigate some of the main challenges.One challenge is to reliably identify GUI elements during test execution to prevent unnecessary repairs.Another problem is the demand for test automation and programming skills when designing stable automated tests at scale.We conducted several studies to achieve the research objective by adopting a multi-methodological approach.We used a systematic literature review to identify the main challenges in GUI-based test automation, followed by several studies that propose and evaluate novel approaches to mitigate the main challenges.Our first contribution is mapping the challenges in GUI-based test automation reported in academic literature.We mapped the main challenges (i.e., most reported) on a timeline and classified them from essential to accidental.This classification is valuable since future research can focus on the main challenges today that we are more likely to mitigate using a technical solution (i.e., accidental).Our second contribution is several novel approaches that explore new concepts or advance state-of-the-art techniques to mitigate some of the main accidental challenges.The concept of Augmented Testing and the research tool Scout can be used to reduce the demand for test automation and programming skills and mitigate the challenges of creating and maintaining model-based tests.Our proposed approach (Similo) can be used to improve web element localization to increase the robustness of test execution.Our results provide alternative approaches and concepts that can mitigate some of the main challenges in GUI-based test automation.With a more robust test execution and tool support for test modeling, we might be able to reduce the manual labor spent on creating and maintaining automated GUI-based tests.With a reduced cost of automation, testers can focus more on other tasks like requirements, test design, and exploratory testing.

  This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.