zoukankan      html  css  js  c++  java
  • 测试用例(正交排列法)

    一、应用场合

      有很多的控件,而且每个控件有多个取值的情况下,要考虑不同控件不同取值的组合

      ——如何使用最少、最优化的数据组合达到最大的测试覆盖。

    二、和因果图法的区别:

      因果图:适用于控件组合较少的(20种以下),要比较全面的考虑所有情况(或主要情况)。

      正交排列法:适用于控件组合数量庞大,而从代码角度讲有没必要全部测试。

    正交表

    一种特制表,一般正交表记为:

    • n:表示的是行数,也就是测试组合的次数
    • t: 表示要测控件内包含的取值个数(各因素的水平数,即各因素的状态数)
    • q:表示列数,即控件的个数(因素的个数,或因子的个数)
    正交表例如L9(34),表1-1, 它表示需作9次实验,最多可观察4个因素,每个因素均为3水平。一个正交表中也可以各列的水平数不相等,我们称它为混合型正交表,如L8(41×24),表2-1 ,此表的5列中,有1列为4水平,4列为2水平。根据正交表的数据结构看出,正交表是一个n行c列的表,其中第j列由数码1,2,… Sj 组成,这些数码均各出现n/Sj 次,例如表1-1中,第二列的数码个数为3,S=3 ,即由1、2、3组成,各数码均出现3次。
    表1-1
    列号
    1
    2
    3
    4
    试验号
    1
    1
    1
    1
    1
    2
    1
    2
    2
    2
    3
    1
    3
    3
    3
    4
    2
    1
    2
    3
    5
    2
    2
    3
    1
    6
    2
    3
    1
    2
    7
    3
    1
    3
    2
    8
    3
    2
    1
    3
    9
    3
    3
    2
    1
    表2-1
    列号
    1
    2
    3
    4
    5
    实验号
    1
    1
    1
    1
    1
    1
    2
    1
    2
    2
    2
    2
    3
    2
    1
    1
    2
    2
    4
    2
    2
    2
    1
    1
    5
    3
    1
    2
    1
    2
    6
    3
    2
    1
    2
    1
    7
    4
    1
    2
    2
    1
    8
    4
    2
    1
    1
    2
    正交表具有以下两项性质:
      ⑴每一列中,不同的数字出现的次数相等。例如在两水平正交表中,任何一列都有数码“1”与“2”,
      且任何一列中它们出现的次数是相等的;如在三水平正交表中,任何一列都有“1”、“2”、“3”,且在任一列的出现数均相等。
      ⑵任意两列中数字的排列方式齐全而且均衡。例如在两水平正交表中,任何两列(同一横行内)有序对子共有4种:
      (1,1)、(1,2)、(2,1)、(2,2)。每种对数出现次数相等。在三水平情况下,任何两列(同一横行内)有序对共有9种,
      1.1、1.2、1.3、2.1、2.2、2.3、3.1、3.2、3.3,且每对出现数也均相等。
    以上两点充分的体现了正交表的两大优越性,即“均匀分散性,整齐可比”。通俗的说,每个因素的每个水平与另一个因素各水平各碰一次,这就是正交性。
    三、如何使用

      1、分析需求——列出所有的控件和取值。——列出表格

      2、根据控件的个数和控件的取值,选择一个合适的正交表:

        (1)根据控件的个数,决定正交表的“次幂”(正交表的列数)例:4个控件——4次幂(4列)

        (2)根据每个控件的取值个数,决定正交表的“底”(正交表中允许出现的最大值)例:每个控件有 3 个取值——底为3

      

      3、把正交表中的列名和取值(1、2、3…)用控件名称和控件的真正取值替代

        (1)把列名用控件名称替代

        (2)把每列中的取值(1、2…)使用对应的控件真正的取值替代

      4、根据正交表编写用例

        

        把正交表的每一行转换成一条用例

     说明:

      这些组合是经过数学推理出来的最少、最优化的用例

      如果时间允许,最好再补充一些用例

    正交表的局限性:(不一样的取值叫做混合正交表)

      正交表个数有限,并基本要求控件取值个数相等

    四、正交表的测试思想

    1、公平原则:使每个控件的每个取值参与组合的次数尽量相同

    2、均匀原则:在所有的组合中挑选数据时,应该均匀零星的选取,而不要只从某个局部选

    五、案例

    每个控件的取值不相同

    1、控件的个数决定次幂,如果没有,找一个最接近的(一般选大一点的) 4个控件——4次幂

    2、如何选“底”

      方案1:少数服从多数原则——有更多的控件取值相同的有 2 个控件取值为 3 ——选底为“3”

      方案2:取值个数最多原则——看哪个控件取值最多,最多有 4 个 值——底为“4”

  • 相关阅读:
    JavaScript对原始数据类型的拆装箱操作
    Javascript继承(原始写法,非es6 class)
    动态作用域与词法作用域
    自行车的保养
    探索JS引擎工作原理 (转)
    C语言提高 (7) 第七天 回调函数 预处理函数DEBUG 动态链接库
    C语言提高 (6) 第六天 文件(续) 链表的操作
    C语言提高 (5) 第五天 结构体,结构体对齐 文件
    C语言提高 (4) 第四天 数组与数组作为参数时的数组指针
    C语言提高 (3) 第三天 二级指针的三种模型 栈上指针数组、栈上二维数组、堆上开辟空间
  • 原文地址:https://www.cnblogs.com/eric88/p/10848163.html
Copyright © 2011-2022 走看看