成对组合覆盖这一概念是Mandl于1985年在测试Aad编译程序时提出来的。Cohen等人应用成对组合覆盖测试技术对Unix中的“Sort”命令进行了测试。测试结果表明覆盖率高达90%以上。可见成对组合覆盖是一种非常有效的测试用例设计方法。
成对组合覆盖要求任意两个因素(输入条件)的所有水平组合至少要被覆盖1次。组合覆盖的算法已经被很多工具实现,测试人员可以直接利用这些工具,例如:TConfig、微软的PICT等。下面介绍一下使用PICT设计测试用例的过程。
PICT,全称是Pairwise Independent Combinatorial Testing tool,是一个免费的小工具。工具下载地址:
PICT接收一个纯文本的Model文件作为输入,然后输出测试用例集合。Model文件的格式如下: : , , , ...
用冒号隔开输入条件和参数,每行一个输入条件,参数之间用逗号隔开。
下面是设计一个测试登陆功能是否必填的Model文件的例子。输入条件有登录名、密码、验证码。各项输入条件分别有不同的参数选择。
username: 填写登录名, 不填登录名
psw: 填写密码, 不填密码
yzm: 填写验证码, 不填验证码
把上面的内容存为Model.txt文件。存储在PICT按照目录下,例如D:\Program Files\PICT\,然后在命令行中输入以下命令:
Cd D:\Program Files\PICT
pict Model.txt
则可产生下面的测试用例:
username psw yzm
填写登录名 不填密码 填写验证码
填写登录名 填写密码 不填验证码
不填登录名 不填密码 不填验证码
不填登录名 填写密码 填写验证码
技巧:如果想把产生的测试用例存储到某个文件,则可输入以下命令:
pict model.txt > Print.xls
这样,处理Model.txt文件中的输入所产生的测试用例就会存储到“D:\Program Files\PICT\”目录下一个名为Print.xls文件。如图:可采取包含和组合的方法从大量的用例数据中挑选适量、有代表性的用例。