杨钦元 博客

PICT 轻松编写组合测试用例

PICT 介绍

来自官网:

PICT generates test cases and test configurations. With PICT, you can generate tests that are more effective than manually generated tests and in a fraction of the time required by hands-on test case design.

PICT 是一个帮你自动生成测试用例的小工具,只需要你输入规则,它会帮你生成用例。

使用

第一步,准备 model.txt

#
# This is a sample model for testing volume create/delete functions
#

Type:          Primary, Logical, Single, Span, Stripe, Mirror, RAID-5
Size:          10, 100, 500, 1000, 5000, 10000, 40000
Format method: quick, slow
File system:   FAT, FAT32, NTFS
Cluster size:  512, 1024, 2048, 4096, 8192, 16384, 32768, 65536
Compression:   on, off

第二步,在命令行上运行 “pict.exe model.txt > test_cases.txt”。 所生成的文件 test_cases.txt 是两因素组合测试用例集,其内容如下。

PLATFORM	CPUS	RAM	HDD	OS	IE
amd64	Single	4GB	SCSI	Win2K	4.0
amd64	Dual	128MB	IDE	Win2K3	6.0
x86	Quad	64GB	SCSI	Win2K3	5.0
...

定义约束关系

在 model.txt 文件底部加入以下脚本:

IF [PLATFORM] = "x86" THEN [RAM] <> "64GB";
IF [OS] = "Win2K3" THEN [IE] >= 6.0;

第一条约束是,当CPU是x86时,内存不能是64GB。第二条约束是,当操作系统是Windows 2003时,IE的版本号要大于6.0。当PICT读取模型文件时,它会解析约束规则,并将其应用于测试用例生成过程。生成的测试用例集既满足对有效取值组合的覆盖,又不包含无效取值组合。

多因素组合测试

「微软的软件测试之道」建议从两因素组合测试开始,逐渐提高组合维度,直至6因素组合测试,因为有研究表明6因素组合测试可以发现绝大多数的程序缺陷。 在测试实践中,3因素组合测试可能是比较实际的选择。

PLATFORM:  x86, ia64, amd64
CPUS:      Single, Dual, Quad
RAM:       128MB, 1GB, 4GB, 64GB
HDD:       SCSI, IDE
OS:        NT4, Win2K, WinXP, Win2K3
IE:        4.0, 5.0, 5.5, 6.0
APP:       SQLServer, Exchange, Office

{ PLATFORM, CPUS, RAM, HDD } @ 3
{ OS, IE } @ 2

根据该模型文件,PICT将对PLATFORM, CPUS, RAM, HDD实施3因素组合覆盖,具体的生成策略可参加下图。PICT在两因素组合覆盖的基础上,对某些因素实施多因素组合覆盖,这有助于实现更灵活的测试策略。

更多命令行操作

【选项】

/o:N   组合数默认值为2

默认生成二元组的测试用例即pict生成的测试用例集中最多有两个值与其他测试集是相同的改为3则覆盖率会增大但同时也会生成更多的测试用例但缺陷大部分发生在参数两两组合的情况下三个参数组合导致的缺陷并不多见

/d:C   值与值之间的分隔符默认为逗号,

例如一个参数操作系统  winxp,win7,win8 之间会用逗号隔开

/a:C   别名间的分隔符默认是管道符|

例如一个参数用户名不区分大小写但为了保证测试的可信度可以用大小写轮换的方式进行测试用户名  admin|ADMIN

/n:C   无效数值或者是非法数值的前缀默认值为~

例如一个参数只能取12为了测试非法值的输入取0但又不希望0和其他参数的每隔值都配一次对为了减少测试集的数量在0前面加一个~即参数  ~0,1,2

/e:file  定义种子文件作用是可以指定组合方式

例如在种子文件seed.txt中指定一个组合方式在执行1.txt时命令pict 1.txt /e:seed.txt  生成的测试集中会包含seed中指定的组合集当然指定的组合集有一定条件)。(此参数目前的理解可能会有误区);

/r[:N]   随机生成N -种子

通过/r参数可以使每次生成的测试集不同

/c        参数的值完全区分大小写

/s        显示模型统计数据

PICT 官网