前言:PICT介绍:
PICT工具是微软公司出品的一款成对组合的命令行生成工具,是一个测试用例生成软件。PICT可有效地按照两两测试Pairwise的原理来进行测试用例设计。在使用PICT时,需要输入与测试用例相关的所有参数,以达到全面覆盖的效果。
简单使用软件
1.1使用步骤
1 在cmd标识符对应的文件夹下建立一个txt文件,或者在某地方建立一个txt文件,然后用上面指令跳转到该文件夹。取个英语的名字,不要带汉字,比如0123.txt
2 在txt文件中要详细说明测试的接口(或一组配置或数据)的参数。实例如下:
道路数目:2,3,4
道路长度:300,400,500,600
车辆速度:3,5,7,9
加速度:--2,-1,0,1,2
天气情况:晴,雨,雪
能见度:500,600,700
注意事项:各标点符号用英语的,txt文件另存为ANSI格式(ASCII编码),如果不按照这个来会出现乱码。
3 cmd执行命令
pict 0123.txt
即可生成测试用例。效果如下:
为了将文件转入txt保存,可以执行命令:
pict 0123.txt > 456.txt
注意大于号两边要有空格。
为了将文件转入excel保存,可以执行命令:
pict 0123.txt > 789.xls
注意大于号两边要有空格。
2.2 拓展使用
用法:
pict model [options]
选项:
/ o :N - 组合顺序(默认值:2)注意系统默认的是两两组合测试
默认生成二元组的测试用例,即pict生成的测试用例集中最多有两个值与其他测试集是相同的;改为3,则覆盖率会增大,但同时也会生成更多的测试用例;但缺陷大部分发生在参数两两组合的情况下,三个参数组合导致的缺陷并不多见。
注意这里是最多有两个值与其他一样,所以包括只有一个值与其他一样的,也包括与其他不一样的。数字越大,表示用例数目越多。数字为1表示全不一样。
/ d :C - 值的分隔符 (默认值:,)
各参数之间的分隔符
/ 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] - 随机生成,N - 种子
通过/r参数,可以使每次生成的测试集不同;
/ c - 区分大小写模型评估
第三章 模型使用学习
3.1 模型介绍
PICT中的模型由三个部分组成:
【参数定义】
【子模型定义】
【约束定义】
三部分顺序不可调换,不可重叠,部分之间不需要任何分隔符,允许出现空行,允许通过“#”添加注释。
3.2 子模型
子模型允许把参数分组,每组可使用不同的阶数。如果某些参数的组合需要更彻底地测试,或必须与模型中的其他参数分离,可以使用子模型。子模型格式:
{ < paramname1 >,< paramname2 >,< paramname3 >,…} @ <阶数>
例如有一兼容性测试,各因数及其值如下:
平台:x86,ia64,amd64
CPU:单核,双路,四核
内存:128MB,1GB,4GB,64GB
硬盘类型:SCSI,IDE
操作系统:mac,Win7,Win10,Linux
浏览器:Firefox,Google,IE8,IE10
APP:SQLServer,Exchange,Office
因为此次测试主要目的是软件在不同硬件的兼容性,所以将硬件归为一组,系统归为一组,并提高硬件的阶数(order),这样既能充分测试硬件的不同组合,又能避免每个硬件与系统的碰撞次数,避免了过多的测试用例。增加子模型后的模型如下:
平台:x86,ia64,amd64
CPU:单核,双路,四核
内存:128MB,1GB,4GB,64GB
硬盘类型:SCSI,IDE
操作系统:mac,Win7,Win10,Linux
浏览器:Firefox,Google,IE8,IE10
APP:SQLServer,Exchange,Office
{平台,CPU,内存,硬盘} @ 3
{操作系统,浏览器} @ 2
也就是说:按照@符号后的数字来组合出一些硬件和一些软件。然后再让这两个组合互相搭配,默认搭配方式是2。
注意:
1. 可以根据需要定义多个子模型;任何参数都可以属于任何数量的子模型。模型层次结构可以只有一个深度。
2. 子模型的组合顺序不能超过其参数的个数。在上面的例子中,第一个子模型的顺序可以是1到4之间的任何值。
3. 如果未指定子模型的组合顺序,PICT将使用默认组合顺序或由/ o选项指定的组合顺序。