arrow
Return

Fragment-Based Test Generation for Web Apps

delete2023-03-01
delete6
delete
OA
AI
R
Rahul Krishna Yandrapally *
A
Ali Mesbah
DOI:10.1109/TSE.2022.3171295delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Automated model-based test generation presents a viable alternative to the costly manual test creation currently employed for regression testing of web apps. However, existing model inference techniques rely on threshold-based whole-page comparison to establish state equivalence, which cannot reliably identify near-duplicate web pages in modern web apps. Consequently, existing techniques produce inadequate models for dynamic web apps, and fragile test oracles, rendering the generated regression test suites ineffective. We propose a model-based test generation technique, FragGen, that eliminates the need for thresholds, by employing a novel state abstraction based on page fragmentation to establish state equivalence. FragGen also uses fine-grained page fragment analysis to diversify state exploration and generate reliable test oracles. Our evaluation shows that FragGen outperforms existing whole-page techniques by detecting more near-duplicates, inferring better web app models and generating test suites that are better suited for regression testing. On a dataset of 86,165 state-pairs, FragGen detected 123% more near-duplicates on average compared to whole-page techniques. The crawl models inferred by FragGen have 62% more precision and 70% more recall on average. FragGen also generates reliable regression test suites with test actions that have nearly 100% success rate on the same version of the web app even if the execution environment is varied. The test oracles generated by FragGen can detect 98.7% of the visible changes in web pages while being highly robust, making them suitable for regression testing.
Keywords:
Testing
Test pattern generators
Web pages
Uniform resource locators
Load modeling
Analytical models
Visualization
Automatic web app exploration
software testing
state abstraction
test generation
web application model inference
web application crawling
web page
state abstraction and equivalence
web testing

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

U
University of British Columbia
Scholars:
7.0W
Papers: 6.1W
Citations: 8.6W