Combinatorial testing is a widely adopted technique for efficiently detecting faults in software. The quality of combinatorial test generators plays a crucial role in achieving effective test coverage. Evaluating combinatorial test generators remains a challenging task that requires diverse and representative benchmarks. Having such benchmarks might help developers to test their tools, and improve their performance. For this reason, in this paper, we present BenCIGen, a highly configurable generator of benchmarks to be used by combinatorial test generators, empowering users to customize the type of benchmarks generated, including constraints and parameters, as well as their complexity. An initial version of such a tool has been used during the CT-Competition, held yearly during the International Workshop on Combinatorial Testing. This paper describes the requirements, the design, the implementation, and the validation of BenCIGen. Tests for the validation of BenCIGen are derived from its requirements by using a combinatorial interaction approach. Moreover, we demonstrate the tool's ability to generate benchmarks that reflect the characteristics of real software systems. BenCIGen not only facilitates the evaluation of existing generators but also serves as a valuable resource for researchers and practitioners seeking to enhance the quality and effectiveness of combinatorial testing methodologies.
翻译:组合测试是一种广泛应用于软件故障高效检测的技术。组合测试生成器的质量对于实现有效测试覆盖至关重要。评估组合测试生成器仍是一项具有挑战性的任务,需要多样且具有代表性的基准测试集。拥有此类基准测试集有助于开发者测试其工具并提升性能。为此,本文提出BenCIGen——一种高度可配置的基准生成器,专用于组合测试生成器,使用户能够自定义所生成基准的类型(包括约束与参数)及其复杂度。该工具初始版本已在每年于国际组合测试研讨会期间举办的CT-Competition中使用。本文阐述了BenCIGen的需求、设计、实现与验证过程。BenCIGen的验证测试采用组合交互方法从其需求中衍生而来。此外,我们展示了该工具生成能够反映真实软件系统特性基准测试集的能力。BenCIGen不仅便利了现有生成器的评估,也为致力于提升组合测试方法论质量与有效性的研究人员与实践者提供了宝贵资源。