1,721,066 research outputs found
Towards automated generation of PO-based WebDriver test suites from Selenium IDE recordings
Modern web applications require long quality assurance sessions to be appreciated by users. Test automation reduces delivery times but requires the development of effective and maintainable test scripts so that the advantages of its use are not lost. The usage of the Page object (PO) pattern has proven to be very effective in GUI testing, however, the manual development of Page objects, a sort of web page facade exposing methods to the test scripts, requires a relevant effort, which is often only repaid during evolution. In this paper, we describe a novel approach, almost totally automated, that takes advantage of the features offered by Selenium IDE for generating more maintainable Selenium WebDriver test scripts and Page objects for web applications. The only manual step required to the tester/developer is to add comments to the Selenese produced by Selenium IDE during registrations through a plugin. The very first estimate we conducted to evaluate our tool-based approach appears to be promising
Web Test Automation: Insights from the Grey Literature
This paper provides the results of a survey of the grey literature concerning best practices for end-to-end web test automation. We analyzed more than 2,400 sources (e.g., blog posts, white-papers, user manuals, GitHub repositories) looking for guidelines by IT professionals on how to develop and maintain web test code. Ultimately, we filtered 142 relevant documents from which we extracted a taxonomy of guidelines divided into technical tips (i.e., concerning the development, maintenance, and execution of web tests), and business-level tips (i.e, concerning the planning and management of testing teams, design, and process). The paper concludes by distilling the ten most cited best practices for developing good quality automated web tests
A service-oriented method for domain and business process modelling
In this paper, we present Precise SOM (Precise Service Oriented Modelling) —a novel lightweight method for integrated domain and business process modelling—which follows the service-oriented paradigm, uses a UML profile as notation and provides detailed workflows to guide the production of the models. In our method, the UML models are precisely defined by means of a metamodel and of a set of constraints, and by restricting UML to the essential language constructs, to help modellers to avoid common mistakes and to guarantee, by construction, a good quality. Precise SOM has been validated by detailing how it can be used in various modelling tasks, some of them illustrated by a (industrial) case study
Leveraging Large Language Models for Explicit Wait Management in End-to-End Web Testing
End-to-end (E2E) testing is an approach in which an application is automatically tested through scripts that simulate the actions a user would perform. Properly managing asynchronous interactions is crucial in this approach to avoid test failures and flakiness. In the Selenium WebDriver framework, this is typically addressed by using thread sleeps (which pause the test for a fixed time) or explicit waits (function calls that pause the test execution until a specified condition is met). Explicit waits require the selection of both a condition to wait for (e.g., element visibility, element clickability) and an element on which that condition applies. Since thread sleeps are unreliable and replacing them with appropriate explicit waits is a time consuming task, in this work, we leverage a Large Language Model (LLM) to assist testers in selecting the most appropriate explicit waits. We defined a structured procedure (a series of prompts) for engaging with the LLM and validated this approach empirically on three test suites affected by asynchronous waiting issues, as well as on 12 synthetic examples. Additionally, we compared our approach with SleepReplacer, the current state-of-the-art tool for replacing thread sleeps with explicit waits in E2E web test suites. The results show that the LLM-based approach can automatically replace the majority of thread sleeps in a test suite on the first attempt, outperforming SleepReplacer
BEWT: A Benchmark for End-to-End Web Testing
Web applications are critical to modern life and require rigorous End-to-End (E2E) testing to ensure reliability across front-end and back-end components. While recent work has improved E2E testing—reducing cost, flakiness, and increasing robustness—a common benchmark is missing, hindering fair comparison and progress. This work introduces the first E2E benchmark dataset to address that gap: 12 Selenium WebDriver test suites for 8 web applications, packaged in Docker for easy deployment. It supports test evolution, automation, and flakiness studies, offering 389 Gherkin-based test cases, 283 Page Objects, 1,364 locators, and over 19k lines of code. By providing a reproducible, diverse foundation, this benchmark enables consistent evaluation of testing techniques and fosters advancement in E2E testing research
A set of empirically validated development guidelines for improving Node-RED flows comprehension
Internet of Things (IoT) systems are rapidly gaining importance in the human society, providing a variety of services to improve the quality of our lives, involving complex and safety-critical tasks; therefore, assuring their quality is of paramount importance. Node-RED is a Web-based visual tool inspired by the flow-based programming paradigm, built on Node.js, and recently emerged to support the users in developing IoT systems in a simple manner. The community behind Node-RED is quite active and encourages artefacts sharing. Thus, the Node-RED flows developed and submitted to public usages should be easy to comprehend and integrate within already existing systems, also in preparation of future maintenance and testing activities. Unfortunately, no consolidated approaches or guidelines to develop comprehensible Node-RED flows currently exist. In this paper, we propose a set of guidelines to help the Node-RED developers in producing flows that are easy to comprehend and use. We have designed and conducted an experiment to evaluate the effect of the guidelines in Node-RED flows comprehension. Results show that the adoption of the guidelines significantly reduces the number of errors (p-value = 0.00903) and the time required to comprehend Node-RED flows (p-value = 0.04883)
- …
