Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/41770
Title: Automatic Systematic GUI Testing for Web Applications
Other Titles: Teste sistemático automático de GUI para Web Aplicativos
???metadata.dc.creator???: MOURA, Thiago Santos de.
???metadata.dc.contributor.advisor1???: ALVES, Everton Leandro Galdino.
???metadata.dc.contributor.advisor2???: BAPTISTA, Cláudio de Souza.
???metadata.dc.contributor.referee1???: MACHADO, Patricia Duarte de Lima.
???metadata.dc.contributor.referee2???: MIRANDA, Breno Alexandro Ferreira.
Keywords: Exploração sistemática;Falhas visíveis;Detecção faltas;Aplicações web;Ferramenta de testagem automatizada;Systematic exploration;Visible failures;Fault detection;Web applications;Automated testing tool
Issue Date: 5-Sep-2024
Publisher: Universidade Federal de Campina Grande
Citation: MOURA, Thiago Santos de. Automatic systematic GUI testing for web applications. 2024. 142 f. Dissertação (Mestrado em Ciência da Computação) – Programa de Pós Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2024.
???metadata.dc.description.resumo???: A testagem automatizada é crucial para o desenvolvimento de software, proporcionando eficiência, redução de custos e repetibilidade. No nível da Graphical User Interface (GUI), ela valida funcionalidades e detecta falhas em aplicações web. Ferramentas que utilizam processos de geração e execução frequentemente visam identificar falhas visíveis, como travamentos, mensagens de erro e comportamentos inesperados. Nesse contexto, propomos o Cytestion, uma abordagem e ferramenta automatizada e sistemática de teste de GUI para aplicações web, que aplica uma abordagem progressiva e sem scripts. Começando com um caso de teste inicial, ele explora progressivamente os elementos usando erros do console do navegador, status de solicitações HTTP e mensagens de falha da GUI para validação. Para ser eficaz, o Cytestion teve que enfrentar três desafios principais: descoberta automática e única de elementos acionáveis, sincronização robusta com a aplicação em teste e gerenciamento de tempo de execução prolongado em contextos web industriais. Para enfrentar esses desafios, introduzimos e avaliamos a abordagem Unique Actionable Elements Search (UAES), o mecanismo Network Wait e o algoritmo Iterative Deepening URL-Based Search (IDUBS). Essas soluções avançaram o campo da testagem automatizada. Nossos estudos empíricos utilizando quatro aplicações web de código aberto e vinte industriais demonstram o desempenho superior do Cytestion na detecção de falhas e eficiência de tempo de execução em comparação com uma ferramenta de teste GUI do estado da arte.
Abstract: 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.
Keywords: Exploração sistemática
Falhas visíveis
Detecção faltas
Aplicações web
Ferramenta de testagem automatizada
Systematic exploration
Visible failures
Fault detection
Web applications
Automated testing tool
???metadata.dc.subject.cnpq???: Ciência da Computação
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/41770
Appears in Collections:Mestrado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
THIAGO SANTOS DE MOURA - DISSERTAÇÃO - (PPGCC) 2024.pdf3.48 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.