最近好好再学习了一次正交表设计用例,看完之后,感触良多,其实简单的玩意,却被它的基础理论搞的异常复杂,导致很多人没有办法在实际工作中使用到它,下面偶就step by step来说说怎么用最简单的方法来使用正交表法。
1、先来段理论,一个好的用例离不开理论的"忽悠"~
理论看上去挺复杂,不用担心,我们只用关心它最核心的部分即可。
例子:假设测试有3个因素条件,A、B、C,每个条件有3个值
A:A1、A2、A3
B:B1、B2、B3
C:C1、C2、C3
根据这9个测试元素生成一个每条边都有3个节点的正方体
按照2个原则来选取测试节点:
1).每条边至少有一个测试节点(保证覆盖率)
2).每条边、每个面上选取的节点需要相等(保证测试节点分布均匀)
如图,一个每条边都有3个节点的正方体只需要9个测试节点就可以。
2、对于一个测试目标,先分析需求,提取并分类测试元素。
如文中的例子:
需求:
为提高某化工产品的转化率,选择了三个有关因素进行条件试验,反应温度(A),反应时间(B),用碱量(C),并确定了它们的试验范围:
A:80-90℃
B:90-150分钟
C:5-7%
提取出的测试元素:
A:Al=80℃,A2=85℃,A3=90℃
B:Bl=90分,B2=120分,B3=150分
C:Cl=5%,C2=6%,C3=7%
3、下载一个“正交设计助手”的软件。(华军、天空都有)
创建一个你需要的正交表,如步骤2中的例子就只需要建一个3因子3水平的正交表。
A B C
1.00 1.00 1.00
2.00 3.00 1.00
3.00 2.00 1.00
1.00 2.00 2.00
1.00 3.00 3.00
2.00 2.00 2.00
3.00 3.00 2.00
3.00 1.00 3.00
2.00 2.00 3.00
4、将你的测试元素填入正交表,然后以每行生成一个case。收工!
备注:
1、正交表生成的用例需要检查覆盖率是否满足需求,是否需要增加特殊用例。
2、有时会出现因子的水平数不相等的情况,可以通过设计更大的正交表来弥补。
比如:
A:3个水平
B:5个水平
C:4个水平
使用正交表设计一个3因子5水平的正交表即可。多余的case可以手工检查删除。
当然,如果你想设计一个多因子不同水平的正交表,请参考《实验设计》这本书,刘文卿编著,清华大学出版社