正交分解法得出的情况怎么提取有代表性的数据?
A有0、1两种情况;B有2种情况,C有2种情况,D有2种情况。最终有16种情况。0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
这么多种情况有什么方法从中找出有代表的 本帖最后由 Jackc 于 2010-11-15 14:47 编辑
LZ这个数据可以由基本二级表L8(27)演变生成L8(24).
由于理论知识比较饶,请LZ仔细阅读以下资料(我也好偷偷懒……): (此资料从理论解释怎么将基本表L8(27)演化为其他类型,比如混合正交表L8(41X24),与本贴LZ问题无关) 一、L8(27)的结构与形式在L8(27)的构造中,对第1至第3列和第1行采用如(表1)形式的这种标准化排列,则
从正交表的定义出发容易验证:在第4至第7列的第2至第8行的排列中,除了第5至第7列各列
之间的位置可以交换之外,其排列是唯一的。即L8(27)只有唯一的一种结构。因此,相
同结构不同形式的L8(27)共有27(7!)=645120种。有关L8的其它性质我们就通过这
张表来介绍表1 L8(27)
列号试验号1234567
1----+++
2--+++--
3-+-+-+-
4-++---+
5+--+--+
6+-+--+-
7++--+--
8+++++++
二、
L8(27)各列之间的关系在表1中,前三列各列之间的位级组合恰好构成一个完全组合。若把第1列、第2列和第3列作
为基本列,则第1、2与3这三列的交互列为第4列。第1列与第2列、第1列与第3列、第2列与
第3列的交互列分别为第5、第6和第7列。用关系式可以表示为三、
4=123, 5=12, 6=13, 7=23 (1)这里的黑体数字代表列号,列与列之间相乘等于各列的每一行符号对应相乘所得到的列。
L8(27)的任意二列的交互列都出现在其它某一列当中,采用与(1)式等价的关系式四、
1234=I, 125=I, 136=I, 237=I (2)其中I表示位级全为“+”的列,可以很容易确定这个交互列。例如,第3列和第4列的交互列
,由1234=I和125=I推知34=12=5,即
第3列与第4列的交互列和第1列与第2列的交互列都同为第5列。
L8(27)有一个重要性质:对于任意的三列,如果其中一列为另外两列的交互列,那么,
这三列之间的八次试验条件恰好是由两个重复的L4(23)所构成;否则,这三列之间的八
次试验条件恰好构成了一个完全组合(即由两个不同的L4(23)所构成)。因此,L8(2 7)中任意三列共35种组合可以分成这两类:
第一类,三列之间其中一列为另外两列的交互列,共有7种组合(见表2)表2
125
136
147
237
246
345
567
表2正好一个平衡不完全区组设计,共有v=7个处理数,b=7个区组数,每个区组能安排k =3个处理,每个处理出现在r=3个区组,任意两个处理出现在λ=1个区组。
这7种组合满足关系式
125=136=147=237=246=345=567=I (3)因此,这些组合的每一种,分辨度都等于3。
第二类,三列之间任意两列的交互列都不是另外一列,共有28种组合(见表3)表3
1 2 31 2 61 3 51 4 52 3 52 4 53 4 6
1 2 41 2 71 3 71 4 62 3 62 4 73 4 7
1 3 41 6 71 5 71 5 62 5 62 5 73 6 7
2 3 42 6 73 5 74 5 63 5 64 5 74 6 7
表3也是一个平衡不完全区组设计,其参数为v=7,b=28,k=3,r=12,λ= 4。
在表3中,这28种组合分成7组,它们分别是从关系式
1234=1267=1357=1456=2356=2457=3467=I (4)所导出。因此,这28种组合的每一种,分辨度都等于4。
把式(4)的数字组合列成表(见表4),正好也是一个平衡不完全区组设计,其参数为v=7 ,b=7,k=4,r=4,λ=2.表4
1234
1267
1357
1456
2356
2457
3467
三、L8的排列组合从L8(27)任选三列,按表2中的第一类组合选取,则这8次试验所组成的正交表L8 (23)结构都相同,都为两个重复的L4(23)(L4(23)也只有一种结构),这个L8(2 3)的强度为2,分辨度为3。按表2中的第二类组合选取,则这8次试验所组成的正交表L8 (23)正好是一个完全组合,因此这个L8(23)的强度为3,分辨度为4。
从L8(27)任选四列,则按表4的7种组合任选一种,组成一个正交表L8(24),其任意
三列都是一个完全组合,即这个L8(24)的强度为3,分辨度为4。这7个L8(24)的结
构是相同的,而且是对称的。如L8(27)中的前四列,第1、2、3和4号试验条件分别与第 8、7、6和5号试验条件对称。除了表4的这7种组合之外,其它组合都构不成强度为3、分辨
度为4的L8(24)。
对于L8来说,强度为3或分辨度为4的列最多只有4列。表1的L8(27)之所以把第1、第2 和第3列的交互列排在第4列,而不像多数书籍排在第7列,正是因为前四列正好组成一个强
度为3的正交表。这符合因素顺序上列的应用习惯。
从L8(27)选出强度为3、分辨度为4的四列之后,剩下的三列强度为2、分辨度为3。即L 8(27)是由一个强度为3、分辨度为4的L8(24)和一个强度为2、分辨度为3的L8(2 3)所构成。
把表1中前四列的“-”号对应于1,“+”号对应于2;最后三列的前4个试验条件和后4个重
复出现的试验条件分别对应于1、2、3、4,并把这一列置于前四列之前放在第1列,则得到
正交表L8(41×24)(见表5),这个正交表也是对称的.表5 L8(41×24)
列号试验号12345
111111
221122
331212
441221
542112
632121
722211
812222
这么复杂啊... 回复 2# Jackc
版主没怎么看懂这个表的含义及L8(27)
我错了,请无视我上面的一堆东西,因为最开始我一直在想弄一个L8(41X24)……,
其实“由基本二级表L8(27)演变生成L8(24)”不用这么麻烦,很简单,直接取L8(27)(二水平七因素正交表)的前4列数据即可,即:
列号试验号1234
10000
20011
30101
40110
51001
61010
71100
81111
至于LZ的问题,怎么将穷举的用例变为正交的用例,请搜索正交表设计文档。 回复 4# 819longjiayan
L8(27)
L8表示有8条实验项的正交表,(27)表示2水平7因素,也就是有7个测试元素,每个元素有2个属性。如A,,B,C,D,E,F,G
A =1,2
B =3,4
…… 本帖最后由 819longjiayan 于 2010-11-15 16:27 编辑
回复 6# Jackc
谢谢。。。 周末我回家学习了,终于把它弄明白了,不过现在还没有把正交表中确定几次实验这个原理弄懂。。还要继续学习 本帖最后由 liangshi 于 2010-11-15 22:17 编辑
请参考我的博客文章:《组合测试实施经验小结》 http://www.51testing.com/index.php?uid-298785-action-viewspace-itemid-217580
摘录:
1. 不要使用正交表,要使用PICT
有一些文章介绍了利用正交表构造组合测试用例集的方法。虽然可行,但是正交表并不是理想的组合测试工具。
首先,正交表的性质并不适用于软件测试。正交表是为正交试验服务的,它求对任意两个因素的取值组合实施“等概率”覆盖,以便实验样本“均匀”地分布在样本空间。“等概率覆盖”有助于在正交试验中确定各个因素对实验结果的贡献,但是对于组合测试提高错误检测能力并没有帮助。受到“等概率覆盖”的约束,正交表往比“覆盖即可”的组合测试工具生成更多的测试用例,提高了测试成本。
第二,利用正交表构造组合测试用例并不方便。使用正交表构造测试用例,要寻找正确的正交表、对其进行剪裁、替换参数,方能获得测试用例集。如果使用微软提供的组合测试工具PICT,生成测试用例会非常简单。第一步,在文本文件中描述被测试应用的模型(Model),即该软件有哪些因素、每个因素有哪些取值。该文本文件被称为模型文件(Model File)。下面的文本是一个为配置测试所准备的模型文件。其中,以"#"开始句子是注释,正文部分每一行代表一个因素,":"之前是因素名,之后是因素的可能取值。
#
# Different machine configurations
#
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
第二步,在命令行上运行"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
...
可见,使用PICT生成组合测试用例非常方便。输入文件和输出文件是易读、易理解的文本文件,测试者可以轻松地理解并修改,测试工具可以方便地解析并运行。
第三,现实世界中的程序是复杂的,它们为组合测试的实施提出了许多挑战。面对这些困难,PICT较正交表有明显的优势。下文将详细介绍组合测试面临的挑战和解决之道。 本帖最后由 Jackc 于 2010-11-16 11:38 编辑
回复 8# liangshi
查了一下PICT的相关资料,确实是不错的工具。将正交表与判定表集成,并用算法完成复杂的数学理论知识。有点像近几年的面向对象语言,“原理你不需要懂,只要会使用指令就ok” :)
另外,针对“1. 不要使用正交表,要使用PICT”,这句话我不赞成哦,本身PICT就是使用了正交表数学理论的工具,无非就是加了个壳而已.....工具嘛,选择合适的工具才是王道,呵呵
页:
[1]