对应三个参数的所有组合情况就是12个测试用例。但是我们需要的是在一组测试用例中能够保证至少一个用例中的每个其他变量的每个取值都配对过。这种情况就可以得到较少的测试用例,我们就可以得到6个测试用例。
用例 |
操作系统 |
打印机 |
是否双面打印 |
1 |
Win 98 |
HP 4050 |
是 |
2 |
Win 98 |
HP 4100 |
否 |
3 |
Win XP |
HP 4050 |
否 |
4 |
Win XP |
HP 4100 |
是 |
5 |
Win 7 |
HP 4050 |
是 |
6 |
Win 7 |
HP 4100 |
否 |
事实上,如果这三个参数中的某两个参数的值的任意不同的组合会触发一个bug的话,那表格上的那组测试用例也可以发现该bug。当三个特殊的值组合在一起触发的某个bug,那表格上的那组测试用例不一定能发现该bug,但是至少我们覆盖了所有的全对偶(all pairs)。
相对于所有组合情况来说,全对偶的测试覆盖率要容易很多。例如,如果你想测试10个参数且都有26个值的功能,所有组合情况将导致存在141,167,095,653,376个测试用例。而全对偶测试法就只要测试1094个测试用例就可以。
为了能较好的使用allpairs工具,测试人员需要在表格上列出所有的参数和参数值,一般可以使用Excel工具来表达:
操作系统 |
打印机 |
是否双面打印 |
Win 98 |
HP 4050 |
是 |
Win XP |
HP 4100 |
否 |
Win 7 |
然后将这个Excel表格拷贝到一个text文件(暂时命名为vars.txt),在Dos平台上运行Allpairs程序,使用如下的命令:
ALLPAIRS VARS.TXT > TESTCASES.TXT |
如果测试人员也安装了Perl,也可以使用如下的命令:
PERL ALLPAIRS.PL VARS.TXT > TESTCASES.TXT |
TESTCASES.TXT文件里面的数据也适合拷贝到Excel文件中,类似于如下: