John Lee写的一篇“Tricks of Software testing”中提到的:
5)黑盒测试的典型方法: 正交矩阵法是减少测试用例的有效方法。等价类划分的缺点是没有考虑边界。
正交矩阵法或者正交分析法是在测试用例设计中比较常用的一种方法,不少人在其blog中都对其进行了介绍,这里不想再介绍正交分析法到底如何来使用,关于使用很多blog中都有介绍,随便找本软件测试方面的书应该都能找到具体的使用过程。这里要说的是使用正交分析法的好处在哪,其发挥效力的关键地方在哪,不搞清这些是无法把握正交分析法的实质的。
我们知道正交分析法是针对多个变量的组合的,因此不少地方就提到:正交分析法是用最少的测试用例来覆盖所有的组合。这句话本身来说就是矛盾的,要像覆盖所有的组合当然就是进行全排列组合了,那又何来用最少的测试用例呢。因此正交分析法的核心在于:
用最少的测试用例来覆盖多个变量取值的两两组合。
下面结合一个正交表就能很清楚的看到这一点了。下面是一个四因子三状态的正交表:
column下的1、2、3、4对应4个因子,而下面第一行中的4个1分别表示这4个因子都取1状态。这样可以发现:
1、因子1的1状态和因子2的1、2、3状态都有组合;
2、因子1的2状态和因子2的1、2、3状态都有组合;
3、因子1的3状态和因子2的1、2、3状态都有组合;
4、因子1的1状态和因子3的1、2、3状态都有组合;
5、因子1的2状态和因子3的1、2、3状态都有组合;
6、因子1的3状态和因子3的1、2、3状态都有组合;
7、因子1的1状态和因子4的1、2、3状态都有组合;
8、因子1的2状态和因子4的1、2、3状态都有组合;
9、因子1的3状态和因子4的1、2、3状态都有组合;
10、因子2的1状态和因子3的1、2、3状态都有组合;
11、因子2的2状态和因子3的1、2、3状态都有组合;
12、因子2的3状态和因子3的1、2、3状态都有组合;
。。。。。。
分析下来就会发现所有因子的两两组合都覆盖到了。如果是靠我们人工来进行组合是很难只用到这么少的组合数的,这就是正交分析法的优势。
版权声明:本文出自skinapi的51Testing软件测试博客:http://www.51testing.com/?170
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。
相关链接: