MOURA, T. S.; http://lattes.cnpq.br/9245914567689858; MOURA, Thiago Santos de.
Resumo:
Automated testing is crucial for software development, providing efficiency, cost reduction,
and repeatability. At the Graphical User Interface (GUI) level, it validates functionalities and
detects faults in web applications. Tools that utilize generation and execution processes often
aim to identify visible failures, such as crashes, error messages, and unexpected behaviors. In
this context, we propose Cytestion, an automated and systematic GUI testing approach and
tool for web applications, which applies a scriptless and progressive approach. Starting with
an initial test case, it progressively explores elements using browser console errors, HTTP
request status, and GUI failure messages for validation. In order to be effective, Cytestion
had to face three primary challenges: automatic and unique discovery of actionable elements,
robust synchronization with the application under test, and managing extended runtime in industrial
web contexts. To address these, we introduced and evaluated the Unique Actionable
Elements Search (UAES) approach, the NetworkWait mechanism, and the Iterative Deepening
URL-Based Search (IDUBS) algorithm. These solutions advanced the field of automated
testing. Our empirical studies using four open-source and twenty industrial web applications
demonstrate Cytestion superior performance in fault detection and runtime efficiency compared
to a state-of-the-art GUI testing tool.