Factors within a large-scale software system that simultaneously interact and strongly impact the system's response under a configuration are often difficult to identify. Although screening such a system for the existence of such interactions is important, determining their location is more useful for system engineers. Combinatorial interaction testing (CIT) concerns creation of test suites that nonadaptively either detect or locate the desired interactions, each of at most a specified size or show that no such set exists. Under the assumption that there are at most a given number of such interactions causing such a response, locating arrays (LAs) guarantee unique location for every such set of interactions and an algorithm to deal with outliers and nondeterministic behavior from real systems, we additionally require the LAs to have a "separation" between these collections. State-of-the-art approaches generate LAs that can locate at most one interaction of size at most three, due to the massive number of interaction combinations for larger parameters if no constraints are given. This paper presents LocAG, a two-stage algorithm that generates (unconstrained) LAs using a simple, but powerful partitioning strategy of these combinations. In particular, we are able to generate LAs with more factors, with any desired separation, and greater interaction size than existing approaches.
翻译:尽管筛选大规模软件系统中同时交互并强烈影响系统响应配置的因素至关重要,但确定这些因素的位置对系统工程师更具实用价值。组合交互测试(CIT)关注构建测试套件,这些套件能够以非自适应方式检测或定位所需交互(每个交互规模最多为指定大小),或证明不存在此类集合。在假设导致特定响应的此类交互数量不超过给定值的条件下,定位数组(LA)可确保唯一识别每个交互集合,并给出处理真实系统中异常值与不确定性行为的算法。此外,我们要求这些LA在这些集合之间具有“分离”特性。现有方法生成的LA最多只能定位三个规模的单一交互,这是因为若不加约束,更大参数下交互组合的数量将极为庞大。本文提出LocAG——一种两阶段算法,通过简单而强大的组合分区策略生成(无约束)LA。与现有方法相比,该算法可生成包含更多因子、具备任意所需分离特性且能处理更大交互规模的LA。