有的测试点需要通过组合测试来覆盖测试点,但在有些情况下会使测试的用例变得异常庞大,这种可以称为组合爆炸,所以组合测试也是组合爆炸的一种解决方法。是一种保证错误率的前提,用较少的测试用例。
常用的组合测试方法包括:
1.两因素组合测试
成对测试(Pairwise Testing)又称结对测试、两两测试,是一种正交分析的测试技术。成对组合覆盖这一概念是Mandl于1985年在测试Aad编译程序时提出来的。是当不可能遍历产品所有功能点时用到的一种测试手段,即如果用尽可能少的工作发现最多的缺陷(测试投入产出性价比)。
经验证,Cohen等人应用成对组合覆盖测试技术对Unix中的“Sort”命令进行了测试。测试结果表明覆盖率高达90%以上,可见成对成对测试是一种非常有效的测试用例设计方法。
成对组合覆盖要求任意两个因素(输入条件)的所有水平组合至少要被覆盖1次。实现成对组合覆盖的算法工具有很多,其中微软的PICT就是其中一个。
2.多因素(t-way,t>2)组合测试
3.基于选择的覆盖(如用户最常见的操作)
主要学习两因素组合测试:
(1)使用pict工具:pict 测试数据 > 输出数据
(2)需要考虑约束关系:if [因素1] = “xx” then [因素2] <> "xxx"
(3)随机种子:加入随机种子之后会重新组合