Model-based Automated Testing of JavaScript Web Applications via Longer Test Sequences

05/19/2019
by   Pengfei Gao, et al.
0

JavaScript has become one of the most widely used languages for Web development. However, it is challenging to ensure the correctness and reliability of Web applications written in JavaScript, due to their dynamic and event-driven features. A variety of dynamic analysis techniques for JavaScript Web applications have been proposed, but they are limited in either coverage or scalability. In this paper, we propose a model-based automated approach to achieve high code coverage in a reasonable amount of time via testing with longer event sequences. We implement our approach as the tool LJS, and perform extensive experiments on 21 publicly available benchmarks (18,559 lines of code in total). On average, LJS achieves 86.4% line coverage in 10 minutes, which is 5.4% higher than that of JSDep, a breadth-first search based automated testing tool enriched with partial order reduction. In particular, on large applications, the coverage of LJS is 11-18% higher than that of JSDep. Our empirical finding supports that longer test sequences can achieve higher code coverage in JavsScript testing.

READ FULL TEXT
research
02/23/2018

SmartUnit: Empirical Evaluations for Automated Unit Testing of Embedded Software in Industry

In this paper, we aim at the automated unit coverage-based testing for e...
research
01/06/2019

RESTful API Automated Test Case Generation

Nowadays, web services play a major role in the development of enterpris...
research
08/19/2021

BackREST: A Model-Based Feedback-Driven Greybox Fuzzer for Web Applications

Following the advent of the American Fuzzy Lop (AFL), fuzzing had a surg...
research
03/11/2021

Using Relative Lines of Code to Guide Automated Test Generation for Python

Raw lines of code (LOC) is a metric that does not, at first glance, seem...
research
06/13/2018

An Approximation-based Approach for the Random Exploration of Large Models

System modeling is a classical approach to ensure their reliability sinc...
research
11/21/2022

Sydr-Fuzz: Continuous Hybrid Fuzzing and Dynamic Analysis for Security Development Lifecycle

Nowadays automated dynamic analysis frameworks for continuous testing ar...
research
12/21/2022

Homo in Machina: Improving Fuzz Testing Coverage via Compartment Analysis

Fuzz testing is often automated, but also frequently augmented by expert...

Please sign up or login with your details

Forgot password? Click here to reset