Skip to main content
U.S. flag

An official website of the United States government

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Using Combinatorial Testing to Build Navigation Graphs for Dynamic Web Applications

Published

Author(s)

Wenhua Wang, Sreedevi Sampath, Yu Lei, Raghu N. Kacker, D. Richard Kuhn, James F. Lawrence

Abstract

Modelling a software system is often a challenging prerequisite to automatic test case generation. Modelling the navigation structure of a dynamic web application is particularly challenging because of the presence of a large number of pages that are created dynamically and the difficulty of reaching a dynamic page unless a set of appropriate input values are provided for the parameters. To address the first challenge, some form of abstraction is required to enable scalable modelling. For the second challenge, techniques are required to select appropriate input values for parameters and systematically combine them to reach new pages. This paper presents a combinatorial approach in building a navigation graph for dynamic web applications. The navigation graph can then be used to automatically generate test sequences for testing web applications. The novelty of our approach is twofold. First, we use an abstraction scheme to control the page explosion problem, where pages that are likely to have the same navigation behaviour are grouped together and are represented as a single node in the navigation graph. Second, assuming that values of individual parameters are supplied manually or generated from other techniques, we combine parameter values such that well‐defined combinatorial coverage of input parameter values is achieved. Using combinatorial coverage can significantly reduce the number of requests that have to be submitted while still achieving effective coverage of the navigation structure. We implement our combinatorial approach in a tool, Tansuo, and apply the tool on seven open‐source web applications. We evaluate the effectiveness of Tansuo's exploration process guided by t‐way coverage, for t = 1,2,3, with respect to code coverage, and find that the navigation structure exploration by Tansuo, in general, results in high code coverage (more than 80% statement coverage for most of our subject applications when dead code is removed).
Citation
Software Testing Verification & Reliability
Volume
26
Issue
4

Keywords

Automated testing, combinatorial testing, navigation graph generation, web application testing, software testing, test case generation

Citation

Wang, W. , Sampath, S. , Lei, Y. , Kacker, R. , Kuhn, D. and Lawrence, J. (2016), Using Combinatorial Testing to Build Navigation Graphs for Dynamic Web Applications, Software Testing Verification & Reliability, [online], https://doi.org/10.1002/stvr.1599 (Accessed April 12, 2024)
Created February 1, 2016, Updated October 12, 2021