Pairwise算法简介
Pairwise是L. L. Thurstone(29 May1887 – 30 September 1955)在1927年首先提出来的。他是美国的一位心理统计学家。Pairwise也正是基于数学统计和对传统的正交分析法进行优化后得到的产物。
测试过程中,对于多参数参数多值的情况进行测试用例组织,把每个参数的所有值分别和其他参数的值做一个全量组合,就是正交分析法, 优点是测试用例覆盖率100%,缺点测试用例数量庞大,执行用例消耗的人工巨大。
Pairwise (结对)算法源于对传统的正交分析方法优化后得到的产物,它的理论来自于数学统计。
核心理念
1、一组测试用例(每个用例有3个参数的值组成,如[目的地,舱位,座位])中每两个元素组合起来,两两组合,就有3种组合方式(有位置的[目的地,舱位],[目的地,座位],[舱位,座位]);
2、这第一组测试用两两组合出的3种组合方式,与其他组元素的对比原则是 :[目的地,舱位]只会和其他组的第一个元素对比,[目的地,座位]只会和其他组中第二个元素对比;
如果[目的地,舱位],[目的地,座位],[舱位,座位]这三个元素分别出现在其余有效组相同位置的元素中,就可以认为这一组Case为多余Case,并进行删除。
3、最终得到测试用例,就是结对算法计算出来的最优测试用例集合.
代码示例
from allpairspy import AllPairs
parameters = [
['北京', '上海', '广州'],
['头等舱', '公务舱', '经济舱'],
['靠过道', '靠窗']
]
print("PAIRWISE:")
for i, pairs in enumerate(AllPairs(parameters)):
print("{:2d}: {}".format(i+1, pairs))
网友评论