作为一名测试人员,每天和成千上万的测试用例打交道,很头疼。有没有一种方法能够减少测试case呢?答案是“有的”。
pairwise 算法源于对传统的正交分析方法优化后得到的产物,它的理论来自于数学统计。如果想深入了解pairwise算法的大虾,推荐看看学术界论文,也不太难。本文通俗的讲一讲pairwise算法,以及我自己根据pairwise算法写的一款小工具。
pairwise算法,主要是针对多维输入。比如:维度1:windows和linux;维度2:ie和firefox和260浏览器;维度3:中文环境;英文环境;德语环境。这种的,各位测试人员也知道要有多少case了吧,是2*3*3=18种,通过pairwise算法能够大大减少组合起来的case的数量(至少减少50%以上)。
pairwise算法的核心理念呢,就是一组中每一个2个元素组合起来,如果都在其他组中出现过,则这一组可以删除,不必测试。我再说明白一点:比如这一组有3个元素,两两组合,就有3种组合方式(有位置的),如果这3种组合方式,都在其余组中测试过了的话(位置也必须一样),就可以免除这一组case。
说了半天,自己在纸上画一画,就全明白了。
好了,知道了原理。开始编程,写工具。