A Memory Efficient Algorithm for Combinatorial-based Test Suite Prioritization

Michael Burton1, Tara Noble2, Chelynn Day1, Quentin Mayo3
1Computer Science, Utah State University, Logan, UT 84322, USA
2Cognitive, Linguistic & Psychological Sciences, Brown University, Providence, RI 02912, USA
3Computer Science, University of North Texas, Denton, TX 76203, USA

Abstract

In testing web applications, details of user visits may be recorded in a web log and converted to test cases. This is called user-session-based testing and studies have shown that such tests may be effective at revealing faults. However, for popular web applications with a larger user base, many user-sessions may build up and test suite management techniques are needed. In this paper, we focus on the problem of test suite prioritization. That is, given a large test suite, reorder the test cases according to a criterion that is hypothesized to increase the rate of fault detection. Previous work shows that 2-way combinatorial-based prioritization is an effective prioritization criterion. We develop a greedy algorithm where we consider memory usage and the time that it takes to prioritize test suites. We represent software tests in a graph by storing unique parameters as vertices and \( n \)-way sets as edges or series of edges. Our experiments demonstrate the efficiency of this approach.