Journal of Frontiers of Computer Science and Technology ›› 2008, Vol. 2 ›› Issue (6): 571-588.DOI: 10.3778/j.issn.1673-9418.2008.06.002

• 综述·探索 • Previous Articles     Next Articles

Survey of combinatorial test generation

WANG Ziyuan1,2+, XU Baowen1,2, NIE Changhai1,2   

  1. 1. School of Computer Science and Engineering, Southeast University, Nanjing 210096, China
    2. Jiangsu Institute of Software Quality, Nanjing 210096, China
  • Received:1900-01-01 Revised:1900-01-01 Online:2008-12-06 Published:2008-12-06
  • Contact: XU Baowen



  1. 1. 东南大学 计算机科学与工程学院,南京 210096
    2. 江苏省软件质量研究所,南京 210096
  • 通讯作者: 徐宝文

Abstract: As a practical software testing approach, Combinatorial Testing (CT) aims to detect the faults that triggered by interactions among factors (or parameters) in SUT by designing and executing a small combinatorial test suite to cover the required combinations of these factors. Up to date, many works have been done in the field of CT, and one of the most important aspect is combinatorial test generation, which aims to generate a small test suite to satisfy a given combinatorial coverage criteria. By describing some representative combinatorial test generation algorithms for two different combinatorial coverage criteria (N-way combinatorial coverage and variable strength combinatorial coverage), the existing works on combinatorial test generation in this survey are reviewed. Furthermore, combinatorial test generation techniques for prioritization, constraint, and fault location are also presented. At last, the problems of existing works are analyzed, and some future trends in the field of CT are proposed.

Key words: software testing, Combinatorial Testing (CT), test generation

摘要: 组合测试是一种科学有效的软件测试方法,该方法旨在使用较少的测试用例有效地检测软件系统中各个因素以及它们之间的相互作用对系统产生的影响,实践证明其具有较高的错误检测能力。当前组合测试研究的热点之一是组合测试用例生成问题,即如何针对具体待测软件,在满足给定组合覆盖要求的前提下,生成规模尽可能小的测试用例集,以便在保证错误检测能力的前提下尽可能降低测试成本。从N维组合覆盖和变力度组合覆盖等两类不同的组合覆盖标准出发,简要介绍了迄今为止人们在组合测试用例生成领域所取得的研究成果,对现有的组合用例生成方法进行了分类和总结。此外,还对优先级、组合约束、错误定位等条件和应用场景下的组合测试用例生成技术进行了介绍。最后,分析了现有成果中存在的问题,并对该领域未来的研究方向进行了分析和讨论。

关键词: 软件测试, 组合测试, 测试用例生成