Automatic Systematic GUI Testing for Web Applications

Detalhes bibliográficos
Ano de defesa: 2024
Autor(a) principal: MOURA, Thiago Santos de. lattes
Orientador(a): ALVES, Everton Leandro Galdino., BAPTISTA, Cláudio de Souza.
Banca de defesa: MACHADO, Patricia Duarte de Lima., MIRANDA, Breno Alexandro Ferreira.
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Campina Grande
Programa de Pós-Graduação: PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
Departamento: Centro de Engenharia Elétrica e Informática - CEEI
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://dspace.sti.ufcg.edu.br/handle/riufcg/41770
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.
id UFCG_86a3b21e55fea07b03a43439e2a6ce25
oai_identifier_str oai:dspace.sti.ufcg.edu.br:riufcg/41770
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str
spelling ALVES, Everton Leandro Galdino.BAPTISTA, Cláudio de Souza.MACHADO, Patricia Duarte de Lima.MIRANDA, Breno Alexandro Ferreira.MOURA, T. S.http://lattes.cnpq.br/9245914567689858MOURA, Thiago Santos de.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.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.Submitted by Helder Soares Dantas (helder-dantas@hotmail.com) on 2025-04-30T12:17:58Z No. of bitstreams: 1 THIAGO SANTOS DE MOURA - DISSERTAÇÃO - (PPGCC) 2024.pdf: 3565487 bytes, checksum: 66eb929b07d822f605617e69ef8e98c2 (MD5)Made available in DSpace on 2025-04-30T12:17:58Z (GMT). No. of bitstreams: 1 THIAGO SANTOS DE MOURA - DISSERTAÇÃO - (PPGCC) 2024.pdf: 3565487 bytes, checksum: 66eb929b07d822f605617e69ef8e98c2 (MD5) Previous issue date: 2024-09-05CapesUniversidade Federal de Campina GrandePÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGBrasilCentro de Engenharia Elétrica e Informática - CEEICiência da ComputaçãoExploração sistemáticaFalhas visíveisDetecção faltasAplicações webFerramenta de testagem automatizadaSystematic explorationVisible failuresFault detectionWeb applicationsAutomated testing toolAutomatic Systematic GUI Testing for Web ApplicationsTeste sistemático automático de GUI para Web Aplicativos2024-09-052025-04-30T12:17:58Z2025-04-302025-04-30T12:17:58Zhttps://dspace.sti.ufcg.edu.br/handle/riufcg/41770MOURA, 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.info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisporinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCGTEXTTHIAGO SANTOS DE MOURA - DISSERTAÇÃO - (PPGCC) 2024.pdf.txtTHIAGO SANTOS DE MOURA - DISSERTAÇÃO - (PPGCC) 2024.pdf.txttext/plain291744https://dspace.sti.ufcg.edu.br/bitstream/riufcg/41770/3/THIAGO+SANTOS+DE+MOURA+-+DISSERTA%C3%87%C3%83O+-+%28PPGCC%29+2024.pdf.txt2a8b61a3ec1b6359e89de2ebb256418bMD53LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://dspace.sti.ufcg.edu.br/bitstream/riufcg/41770/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52ORIGINALTHIAGO SANTOS DE MOURA - DISSERTAÇÃO - (PPGCC) 2024.pdfTHIAGO SANTOS DE MOURA - DISSERTAÇÃO - (PPGCC) 2024.pdfapplication/pdf3565487https://dspace.sti.ufcg.edu.br/bitstream/riufcg/41770/1/THIAGO+SANTOS+DE+MOURA+-+DISSERTA%C3%87%C3%83O+-+%28PPGCC%29+2024.pdf66eb929b07d822f605617e69ef8e98c2MD51riufcg/417702025-11-18 03:54:05.566oai:dspace.sti.ufcg.edu.br:riufcg/41770Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512025-11-18T06:54:05Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.pt_BR.fl_str_mv Automatic Systematic GUI Testing for Web Applications
dc.title.alternative.pt_BR.fl_str_mv Teste sistemático automático de GUI para Web Aplicativos
title Automatic Systematic GUI Testing for Web Applications
spellingShingle Automatic Systematic GUI Testing for Web Applications
MOURA, Thiago Santos de.
Ciência da Computação
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
title_short Automatic Systematic GUI Testing for Web Applications
title_full Automatic Systematic GUI Testing for Web Applications
title_fullStr Automatic Systematic GUI Testing for Web Applications
title_full_unstemmed Automatic Systematic GUI Testing for Web Applications
title_sort Automatic Systematic GUI Testing for Web Applications
author MOURA, Thiago Santos de.
author_facet MOURA, Thiago Santos de.
author_role author
dc.contributor.advisor1.fl_str_mv ALVES, Everton Leandro Galdino.
dc.contributor.advisor2.fl_str_mv BAPTISTA, Cláudio de Souza.
dc.contributor.referee1.fl_str_mv MACHADO, Patricia Duarte de Lima.
dc.contributor.referee2.fl_str_mv MIRANDA, Breno Alexandro Ferreira.
dc.contributor.authorID.fl_str_mv MOURA, T. S.
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/9245914567689858
dc.contributor.author.fl_str_mv MOURA, Thiago Santos de.
contributor_str_mv ALVES, Everton Leandro Galdino.
BAPTISTA, Cláudio de Souza.
MACHADO, Patricia Duarte de Lima.
MIRANDA, Breno Alexandro Ferreira.
dc.subject.cnpq.fl_str_mv Ciência da Computação
topic Ciência da Computação
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
dc.subject.por.fl_str_mv 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
description 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.
publishDate 2024
dc.date.issued.fl_str_mv 2024-09-05
dc.date.accessioned.fl_str_mv 2025-04-30T12:17:58Z
dc.date.available.fl_str_mv 2025-04-30
2025-04-30T12:17:58Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://dspace.sti.ufcg.edu.br/handle/riufcg/41770
dc.identifier.citation.fl_str_mv 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.
url https://dspace.sti.ufcg.edu.br/handle/riufcg/41770
identifier_str_mv 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.
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Campina Grande
dc.publisher.program.fl_str_mv PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
dc.publisher.initials.fl_str_mv UFCG
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Centro de Engenharia Elétrica e Informática - CEEI
publisher.none.fl_str_mv Universidade Federal de Campina Grande
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFCG
instname:Universidade Federal de Campina Grande (UFCG)
instacron:UFCG
instname_str Universidade Federal de Campina Grande (UFCG)
instacron_str UFCG
institution UFCG
reponame_str Biblioteca Digital de Teses e Dissertações da UFCG
collection Biblioteca Digital de Teses e Dissertações da UFCG
bitstream.url.fl_str_mv https://dspace.sti.ufcg.edu.br/bitstream/riufcg/41770/3/THIAGO+SANTOS+DE+MOURA+-+DISSERTA%C3%87%C3%83O+-+%28PPGCC%29+2024.pdf.txt
https://dspace.sti.ufcg.edu.br/bitstream/riufcg/41770/2/license.txt
https://dspace.sti.ufcg.edu.br/bitstream/riufcg/41770/1/THIAGO+SANTOS+DE+MOURA+-+DISSERTA%C3%87%C3%83O+-+%28PPGCC%29+2024.pdf
bitstream.checksum.fl_str_mv 2a8b61a3ec1b6359e89de2ebb256418b
8a4605be74aa9ea9d79846c1fba20a33
66eb929b07d822f605617e69ef8e98c2
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)
repository.mail.fl_str_mv bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br
_version_ 1863363567349137408