Accelerating covering array generation by combinatorial join for industry scale software testing

PeerJ Comput Sci. 2022 Feb 11:8:e720. doi: 10.7717/peerj-cs.720. eCollection 2022.

Abstract

Combinatorial interaction testing, which is a technique to verify a system with numerous input parameters, employs a mathematical object called a covering array as a test input. This technique generates a limited number of test cases while guaranteeing a given combinatorial coverage. Although this area has been studied extensively, handling constraints among input parameters remains a major challenge, which may significantly increase the cost to generate covering arrays. In this work, we propose a mathematical operation, called "weaken-product based combinatorial join", which constructs a new covering array from two existing covering arrays. The operation reuses existing covering arrays to save computational resource by increasing parallelism during generation without losing combinatorial coverage of the original arrays. Our proposed method significantly reduce the covering array generation time by 13-96% depending on use case scenarios.

Keywords: Automated combinatorial test generation; Automated testing; Combinatorial explosion; Combinatorial interaction testing; Combinatorial testing; Constrained covering array; Covering array; Software; Software testing; Variable strength covering array.

Grants and funding

The authors received no funding for this work.