|
看《all in one》的时候看到了这个方法,顺便研究了一下(不要问我什么是组合测试,自己去看书吧)。自己运用游戏中的一个功能,设计了一个表。总共有5个参数,其中2个参数有7个值,2个参数4个值,一个参数3个值,然后这几表格,总共花了我2个多小时的时间。
具体的表格是什么样的我就不画出来了,仁者见仁,智者见智,每个人都想法不一样,得到的结果也不一样。
拿着最终得到的表格,我发现,并不是所有的期望的组合都在里面,当然在里面的组合都是我期望的。是不是我设计的时候某个地方并没有组合完?然后自己检查了一次,并按照组合测试设计的原理,我的设计是正确的。那么原因出在什么地方呢?
组合测试的原理是,每一个参数的每个值都能够和其他参数的每个值都进行至少一次组合。举个比方有三个参数,每个参数有2个值,那么按照全部枚举的方法,得到的表格为:
T T T
F F T
T F T
F T T
T T F
F F F
T F F
F T F
那么按照组合测试的原理,设计的表格却如下:
T T T
F F T
T F F
F T F
从表格可以看出,TFT,FTT,TTF,FFF这个四个组合没有了,那么这四个组合是否能够去掉呢?恐怕还需要根据实际的情况来定吧。
组合测试并不是万能在,在某些地方的使用是非常困难的。比如在一个状态转换比较频繁的测试过程中,组合测试的设计就显得非常困难。
总之,在很多情况下,组合测试是一个相当方便的测试方法,它甚至可以只用几十个测试用例覆盖上千个测试用例,就如前文所说的7*7*4*4*3的测试组合,只用了49个测试用例就完成了。 |
|