文档库 最新最全的文档下载
当前位置:文档库 › PICT中Sub-Models的使用说明

PICT中Sub-Models的使用说明

PICT工具安装后会打开一个帮助页面,里面有对Sub-Models的说明,大概是说Sub-Models允许用户自己对参数进行整合,以提高这部分集合的测试覆盖率。具体到使用效果上,从之前下载的一些文档上加上自己的实验,总结为一句话:优先对集合中元素进行组合,保证输出结果中任意order个数的元素组合一次,再将这些输出看做为一个等价类,等价类中的元素与其他参数结对生成最终用例。
还是以上面为例:
{ PLATFORM, CPUS, RAM, HDD } @ 3 以后称集合1
{ OS, IE } @ 2 以后称集合2
集合1中有4个参数,@符号后的数字为3,表明输出结果中任意三个元素组合都要至少出现一次,比如ia64 Dual 64GB肯定能够在结果中找出来,如:ia64 Dual 64GB SCSI WinXP 5.0 SQLServer,如果想进一步验证,可以只保留PLATFORM,CPUS,RAM和HDD,输出结果验证后也是如此
集合2中有2个参数,@符号后的数字为2,表明输出结果中任意两个元素组合都要至少出现一次,比如amd64 IDE肯定能够在结果中知道符合的条目,如:amd64 Quad 64GB IDE Win2K3 5.5 Exchange,如果想进一步验证,按照上面的方法只保留OS和IE,因为输入结果较少,打印如下:
OS IE
WinXP 5.5
Win2K 5.5
NT4 4.0
Win2K3 5.0
WinXP 5.0
Win2K3 4.0
Win2K 4.0
NT4 6.0
Win2K3 6.0
NT4 5.5
WinXP 6.0
NT4 5.0
Win2K 6.0
Win2K3 5.5
WinXP 4.0
Win2K 5.0
结果发现,这是一个全覆盖,单同时也满足两两配对,即任意两个元素的组合都至少出现一次
如果将集合2中order改为1,结果如下
OS IE
NT4 5.0
WinXP 4.0
Win2K 6.0
Win2K3 5.5
这个结果满足集合中任意1个元素的组合至少出现一次,一个元素因为没有组合的概念,所以换句话说就是每个元素至少出现一遍,那么输出个数将会是包含元素最短的参数的元素个数,这里两个参数的个数都是4,所以输出也就是4
从上面的分析可以得出一些特性,当order为1时,只要每个元素出现一次即可;当order为集合元素个数时,则是笛卡尔全覆盖;如果为2时,则是默认的配对组合。
需要注意的是当1以上解释的是优先对集合中元素进行组合,保证输出结果中任意order个数的元素组合一次这句话,下面解释后面半句再将这些输出看做为一个等价类,等价类

中的元素与其他参数结对生成最终用例。
之前的操作都有一个保留本集合参数,删除其他参数的过程,这样就得到了集合的输出结果,然后将这些输入结果看做是一个等价类,所以参数放置到条件当中,再把原集合删除,再进行结对测试。这里一步一步来,首先是集合1,输出结果为37条,也写成参数样式:
SET1: ia64 Dual 4GB IDE, amd64 Dual 128MB IDE, ia64 Quad 64GB IDE……(37条)
注意:参数中的元素默认使用半角逗号(,)分隔
将这个参数放置到原参数当中
PLATFORM: x86, ia64, amd64
CPUS: Single, Dual, Quad
RAM: 128MB, 1GB, 4GB, 64GB
HDD: SCSI, IDE
SET1: ia64 Dual 4GB IDE, amd64 Dual 128MB IDE, ia64 Quad 64GB IDE……(37条)
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
删除原集合1,得到:
SET1: ia64 Dual 4GB IDE, amd64 Dual 128MB IDE, ia64 Quad 64GB IDE……(37条)
OS: NT4, Win2K, WinXP, Win2K3
IE: 4.0, 5.0, 5.5, 6.0
APP: SQLServer, Exchange, Office

{ OS, IE } @ 2
再对集合2做同样操作,集合2 的输入写成参数格式:
SET2: WinXP 5.5,Win2K 5.5,NT4 4.0,Win2K3 5.0,WinXP 5.0,Win2K3 4.0,Win2K 4.0,NT4 6.0,Win2K3 6.0,NT4 5.5,WinXP 6.0,NT4 5.0,Win2K 6.0,Win2K3 5.5,WinXP 4.0,Win2K 5.0(16条)
加入到原参数当中
SET1: ia64 Dual 4GB IDE, amd64 Dual 128MB IDE, ia64 Quad 64GB IDE……(37条)
OS: NT4, Win2K, WinXP, Win2K3
IE: 4.0, 5.0, 5.5, 6.0
SET2: WinXP 5.5,Win2K 5.5,NT4 4.0,Win2K3 5.0,WinXP 5.0,Win2K3 4.0,Win2K 4.0,NT4 6.0,Win2K3 6.0,NT4 5.5,WinXP 6.0,NT4 5.0,Win2K 6.0,Win2K3 5.5,WinXP 4.0,Win2K 5.0(16条)
APP: SQLServer, Exchange, Office

{ OS, IE } @ 2
删除集合2,得到:
SET1: ia64 Dual 4GB IDE, amd64 Dual 128MB IDE, ia64 Quad 64GB IDE……(37条)
SET2: WinXP 5.5,Win2K 5.5,NT4 4.0,Win2K3 5.0,WinXP 5.0,Win2K3 4.0,Win2K 4.0,NT4 6.0,Win2K3 6.0,NT4 5.5,WinXP 6.0,NT4 5.0,Win2K 6.0,Win2K3 5.5,WinXP 4.0,Win2K 5.0(16条)
APP: SQLServer, Exchange, Office
这样就得到了最终的参数列表,再做结对测试,就可以输出最终的结果
从使用效果上看,虽然使用Sub-Models能够对集合的覆盖,但是有个副作用,它会使用例数量迅速放大,所以在用例构造的时候,需要认真选取子集,平衡测试用例覆盖面和数量的矛盾

相关文档
相关文档 最新文档