17 research outputs found

    Web application testing: Using tree kernels to detect near-duplicate states in automated model inference

    Get PDF
    Background: In the context of End-to-End testing of web applications , automated exploration techniques (a.k.a. crawling) are widely used to infer state-based models of the site under test. These models, in which states represent features of the web application and transitions represent reachability relationships, can be used for several model-based testing tasks, such as test case generation. However, current exploration techniques often lead to models containing many near-duplicate states, i.e., states representing slightly different pages that are in fact instances of the same feature. This has a negative impact on the subsequent model-based testing tasks, adversely affecting, for example, size, running time, and achieved coverage of generated test suites. Aims: As a web page can be naturally represented by its tree-structured DOM representation, we propose a novel near-duplicate detection technique to improve the model inference of web applications, based on Tree Kernel (TK) functions. TKs are a class of functions that compute similarity between tree-structured objects, largely investigated and successfully applied in the Natural Language Processing domain. Method: To evaluate the capability of the proposed approach in detecting near-duplicate web pages, we conducted preliminary classification experiments on a freely-available massive dataset of about 100k manually annotated web page pairs. We compared the classification performance of the proposed approach with other state-of-the-art near-duplicate detection techniques. Results: Preliminary results show that our approach performs better than state-of-the-art techniques in the near-duplicate detection classification task. Conclusions: These promising results show that TKs can be applied to near-duplicate detection in the context of web application model inference, and motivate further research in this direction to assess the impact of the technique on the quality of the inferred models and on the subsequent application of model-based testing techniques

    Neural Embeddings for Web Testing

    Full text link
    Web test automation techniques employ web crawlers to automatically produce a web app model that is used for test generation. Existing crawlers rely on app-specific, threshold-based, algorithms to assess state equivalence. Such algorithms are hard to tune in the general case and cannot accurately identify and remove near-duplicate web pages from crawl models. Failing to retrieve an accurate web app model results in automated test generation solutions that produce redundant test cases and inadequate test suites that do not cover the web app functionalities adequately. In this paper, we propose WEBEMBED, a novel abstraction function based on neural network embeddings and threshold-free classifiers that can be used to produce accurate web app models during model-based test generation. Our evaluation on nine web apps shows that WEBEMBED outperforms state-of-the-art techniques by detecting near-duplicates more accurately, inferring better web app models that exhibit 22% more precision, and 24% more recall on average. Consequently, the test suites generated from these models achieve higher code coverage, with improvements ranging from 2% to 59% on an app-wise basis and averaging at 23%.Comment: 12 pages; in revisio

    Towards Uniform Urban Map Coverage in Vehicular Crowd-Sensing: a Decentralized Incentivization Solution

    No full text
    Vehicular Crowd-Sensing (VCS) is a well-known data collection approach leveraging sensors of connected vehicles to efficiently gather contextual information in urban environments. High-mileage vehicles such as taxis are often regarded as effective VCS platforms, due to their pervasiveness in modern cities, even though the road network coverage achievable by these vehicles is still an open issue. Indeed, their drivers generally follow the most-efficient route to destination, leading to major roads being frequently visited, while others are often neglected. To address this issue, many centralized incentivization solutions have been proposed to recruit/reward drivers accepting minor detours towards roads with higher sensing demand. However, these works mostly focus on assigning specific sensing tasks to drivers, rather than achieving an overall better-balanced urban sensing coverage, which is nonetheless required for many use cases, such as air quality monitoring. To fill this gap, we present ROUTR, an incentivization budget-aware routing solution designed to achieve more uniform coverage in VCS without requiring central coordination, thus significantly reducing back-end infrastructure costs. We empirically evaluated the proposal using taxi traces collected in the City of San Francisco. Results highlighted that, even with small incentivization budgets, our proposal leads to significantly more uniform urban road network coverage

    Can Large Language Models Automatically Generate GIS Reports?

    No full text
    <p>This package contains data supporting the paper titled "Can Large Language Models Automatically Generate GIS Reports?". The package includes three different GIS reporting scenarios and, for each scenario, the employed prompts and the reports generated using a LLM in each repetition of the experiment.</p&gt

    Vehicular Crowd-Sensing on Complex Urban Road Networks: A Case Study in the City of Porto

    No full text
    The viability of high-mileage vehicles, like taxis, in acting as potential probes for Vehicular Crowd-Sensing (VCS) has been largely confirmed in many experimental studies. However, these studies have been mostly carried out considering data from cities with regular, grid-based, road networks, or by abstracting the road network to a grid of cells. In this paper, we investigate the potential suitability of taxis as probe vehicles, by evaluating the achievable spatio-temporal sensing coverage, computed over real trajectories from a swarm of 100 taxis in the city of Porto (PT). Our results confirm that as few as 100 taxis have the potential to effectively sense complex urban road networks, for many VCS-based use cases. On the other hand, we found that the probing frequency might be inadequate to support use cases requiring higher sampling rates. As a consequence, recruiting more vehicles and/or devising specialized routing/incentitivazion mechanisms might be necessary

    GenRL at the SBST 2022 Tool Competition

    No full text
    GenRL is a Deep Reinforcement Learning-based tool designed to generate test cases for Lane-Keeping Assist Systems. In this paper, we briefly presents GenRL, and summarize the results of its participation in the Cyber-Physical Systems (CPS) tool competition at SBST 2022

    Replication Package for the paper titled "Towards Predicting Fragility in End-to-End Web Tests"

    No full text
    <p><strong>ABSTRACT </strong></p><p>Automated end-to-end web tests are typically implemented as scripts that leverage dedicated libraries to simulate<br>user interactions with web pages in a remotely controlled web browser. These tests are a widely used industrial practice, crucial<br>for ensuring the functionality and reliability of web applications, as well as confirming non-regression on new releases.<br>Still, as web applications evolve, maintaining the end-to-end test code is one of the main challenges faced by practitioners.<br>Indeed, even minor alterations in web pages can easily break existing test code, rendering it unable to correctly locate and<br>interact with web page elements. This issue is commonly known as web test fragility. A number of works in the literature<br>have investigated the causes of web test fragility and proposed approaches to repair these tests automatically or to produce more<br>robust tests. In this paper, we tackle the fragility problem from a different perspective. Rather than trying to repair broken tests, we present a solution that aims at estimating the extent to which a web test is prone to breakage, by considering both the source code of the web test and the web pages of the application under test. Our approach takes into account static aspects such as the structure<br>of web pages and the locators used in the web tests, as well as dynamic information collected during web test execution. These<br>data are used to compute a fragility score for each test and to highlight the most breakage-prone parts of the test code.<br>We envision that our proposal could offer substantial benefits to web testing processes, allowing testers to improve their test<br>suites before breakages occur, saving time and money in the process. Preliminary experiments we conducted on an industrial<br>web application showed that the computed fragility scores are highly correlated with actual test breakages in subsequent web<br>application versions.</p><p><strong>RUNNING THE TEST EXAMPLE</strong></p><ol><li>Resolve the dependencies indicated in the pom with<i> mvn compile.</i></li><li>Run the <i>JUnitRunner </i>class.</li><li>To try another example, modify the test example and repeat step 2.</li></ol><p> </p&gt

    Vehicular crowd-sensing: a parametric routing algorithm to increase spatio-temporal road network coverage

    No full text
    Current vehicles are equipped with a number of environmental sensors to improve safety and quality of life for passengers. Many researchers have shown that these sensors can also be exploited for opportunistic crowd-sensing. Useful new services can be developed on top of these data, like urban surveillance of Smart Cities. The spatio-temporal sensing coverage achievable with Vehicular Crowd-Sensing (VCS), however, is an open issue, since vehicles are not uniformly distributed over the road network, undermining the quality of potential services based on VCS data. In this paper, we present an evolution of the standard A∗ routing algorithm, meant to increase VCS coverage by selecting a route in a random way among all those satisfying a parametric constraint on the total cost of the path. The proposed solution is based on an edge-computing paradigm, not requiring a central coordination but rather leveraging the computational resources available on-board, significantly reducing the back-end infrastructure costs. The proposed solution has been empirically evaluated on two public datasets of 450,000 real taxi trajectories from two cities, San Francisco and Porto, characterized by a very different road network topology. Results show sensible improvements in terms of achievable spatio-temporal sensing coverage of probe vehicles

    Comparing the effectiveness of capture and replay against automatic input generation for Android graphical user interface testing

    No full text
    Exploratory testing and fully automated testing tools represent two viable and cheap alternatives to traditional test‐case‐based approaches for graphical user interface (GUI) testing of Android apps. The former can be executed by capture and replay tools that directly translate execution scenarios registered by testers in test cases, without requiring preliminary test‐case design and advanced programming/testing skills. The latter tools are able to test Android GUIs without tester intervention. Even if these two strategies are widely employed, to the best of our knowledge, no empirical investigation has been performed to compare their performance and obtain useful insights for a project manager to establish an effective testing strategy. In this paper, we present two experiments we carried out to compare the effectiveness of exploratory testing approaches using a capture and replay tool (Robotium Recorder) against three freely available automatic testing tools (AndroidRipper, Sapienz, and Google Robo). The first experiment involved 20 computer engineering students who were asked to record testing executions, under strict temporal limits and no access to the source code. Results were slightly better than those of fully automated tools, but not in a conclusive way. In the second experiment, the same students were asked to improve the achieved testing coverage by exploiting the source code and the coverage obtained in the previous tests, without strict temporal constraints. The results of this second experiment showed that students outperformed the automated tools especially for long/complex execution scenarios. The obtained findings provide useful indications for deciding testing strategies that combine manual exploratory testing and automated testing
    corecore