组合测试(Combinatorial Test)是一种黑盒测试用例生成方法,主要针对多输入参数组合场景。
目前业界较流行的两种组合测试方法,一种是 Pairwise/All-Pairs ,即配对组合。 OATS(Orthogonal Array Testing Strategy) ,即正交表法。
Pairwise/All-Pairs ,也叫配对测试 或 结对测试,是一种软件测试的组合方法,核心在于用最少的测试用例来覆盖多个因素取值的两两组合。
配对测试示例
Pairwise 是 L. L. Thurstone 在 1927 年首先提出来的。他是美国的一位心理统计学家。 Pairwise 是基于数学统计和对传统的正交分析法进行优化后得到的产物。
Pairwise 基于如下 2 个假设:
因此, Pairwise 基于覆盖所有两因素的交互作用产生的用例集合性价比最高而产生的。
N-wise 是对 N 个因素的所有取值进行全排列组合(笛卡尔积)而生成的一组测试用例集。理论上,该测试用例集可以发现所有 N 个因素共同作用引发的缺陷。
Pairwise/All-Pairs 是 N-wise 的一个具体化实例, Pairwise/All-Pairs 实际上就是 2-wise 。
《微软软件测试之道》中,建议从 Pairwise/All-Pairs 开始测试,逐渐提高组合维度,直至 6-wise 组合测试。因为据研究表明, 6-wise 可以发现绝大多数的程序缺陷。但是,实际上随着组合维度的提升,测试用例呈指数爆炸增长,所以 Pairwise/All-Pairs 或 3-wise 比较适合实际项目。
组合数量对比
Pairwise 工具集 : http://www.pairwise.org/tools.asp
正交表查询 : https://www.york.ac.uk/depts/maths/tables/orthogonal.htm
Pairwise 工具推荐微软的 PICT (Pairwise Independent Combinatorial Testing) 。
...\/All-Pairs、OATS(Orthogonal Array Testing Strategy)
组合测试(Combinatorial Test)是一种黑盒测试用例生成方法,主要针对多输入参数组合场景。目前业界较流行的两种组合测试方法,一种是 Pairwise\/All-Pairs ,即配对组合。 OATS(Orthogonal Array Testing Strategy) ,即正交表法。Pairwise\/All-Pairs ,也叫配对测试 或 结对测试,是一种软件测试的组合方...