Cytestion: Automated GUI Testing for Web Applications

  • Thiago Santos de Moura UFCG
  • Everton L. G. Alves UFCG
  • Hugo Feitosa de Figueirêdo IFPB
  • Cláudio de Souza Baptista UFCG

Resumo


Automated testing in web applications is becoming increasingly popular due to its cost-effectiveness, efficiency, and repeatability. Ensuring the quality of such software is vital, especially in scenarios where business requirements are uncertain and volatile. In this paper, we propose Cytestion, a tool that automatically explores a web application’s Graphical User Interface (GUI) to detect faults that cause visible failures, such as crashes, errors, and unexpected behaviors. For that, it applies a scriptless and progressive approach. To work as an oracle, Cytestion evaluates the output of each test case execution by considering the HTTP status of server requests, default and customized failure GUI messages, and console failure messages. We evaluated the effectiveness and cost of our approach in two empirical studies. The first study works with injected faults in open-source projects, while the second is a case study on eight industrial projects. Cytestion detected several faults in both studies and outperformed a state-of-the-art GUI testing tool.

Palavras-chave: test case, cytestion, cypress, automation, GUI testing
Publicado
25/09/2023
MOURA, Thiago Santos de; ALVES, Everton L. G.; FIGUEIRÊDO, Hugo Feitosa de; BAPTISTA, Cláudio de Souza. Cytestion: Automated GUI Testing for Web Applications. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 37. , 2023, Campo Grande/MS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 388–397.