最近阅读了史亮老师的《软件测试实战:微软技术专家经验总结》一书,其中“测试建模”一章让我受益匪浅。想想以前的测试有多久没有花过心思放在测试用例的设计上了,一直强调“测试思想”的培养也都只是空谈罢了,废话不多说了。书只是个引子,任何一个知识点能引发思考就是收获。
在“测试建模”一章中,重点讲了组合测试数据生成的问题,其中便提到了微软内部开发的测试工具PICT(Pairwise Independent Combinatorial Testing ),现在已对外提供,可以从网上下载安装包,我下载的是3.3版本的安装包,格式为msi(MSI文件是Windows Installer的数据包)。下载后直接安装,可以安装到任意位置,我按照默认位置安装。
成功安装后,在命令行中输入命令pict:
可以看到pict命令的一些选项:
/o:N 组合数,默认值为2,即pict生成的测试用例集中每条测试数据会有两个值与其他测试集是不同的;
/d:C 值与值之间的分隔符,默认为逗号(,),例如一个参数 操作系统 winxp,win7,win8 之间会用逗号隔开;
/a:C 别名间的分隔符,默认是管道符(|),例如一个参数(用户名不区分大小写,但为了保证测试的可信度,可以用大小写轮换的方式进行测试) 用户名 admin|ADMIN;
/n:C 无效数值或者是非法数值的前缀,默认值为(~),例如一个参数(只能取1、2,为了测试非法值的输入,取0,但又不希望0和其他参数的每隔值都配一次对,为了减少测试集的数量,在0前面加一个~)即 参数 ~0,1,2;
/e:file 定义种子文件,作用是可以指定组合方式,例如在种子文件seed.txt中指定一个组合方式,在执行1.txt时,命令:pict 1.txt /e:seed.txt 生成的测试集中会包含seed中指定的组合集(当然指定的组合集有一定条件)。(此参数目前的理解可能会有误区);
/r[:N] 通过/r参数,可以使每次生成的测试集不同;
/c 加上该参数,说明参数值完全区分大小写
/s 显示模型统计数据 例如运行 pict 1.txt /s 结果为
Combinations: 21
Generated tests: 9
Generation time:0:00:00