正交表设计用例(简单+实用) - Jackc

时间:2024-02-19 22:36:06

  最近好好再学习了一次正交表设计用例,看完之后,感触良多,其实简单的玩意,却被它的基础理论搞的异常复杂,导致很多人没有办法在实际工作中使用到它,下面偶就step by step来说说怎么用最简单的方法来使用正交表法。

 

  1、先来段理论,一个好的用例离不开理论的"忽悠"~ 

 

正交表理论.doc

 

  理论看上去挺复杂,不用担心,我们只用关心它最核心的部分即可。

     例子:假设测试有3个因素条件,A、B、C,每个条件有3个值

  AA1、A2、A3  

  BB1、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可以手工检查删除。

    当然,如果你想设计一个多因子不同水平的正交表,请参考《实验设计》这本书,刘文卿编著,清华大学出版社