天天看點

正交實驗法的由來

 一、正交表的由來

       拉丁方名稱的由來

      古希臘是一個多民族的國家,國王在檢閱臣民時要求每個方隊中每行有一個民族代表,每列也要有一個民族的代表。

       數學家在設計方陣時,以每一個拉丁字母表示一個民族,是以設計的方陣稱為拉丁方。

       什麼是n階拉丁方?

       用n個不同的拉丁字母排成一個n階方陣(n<26 ),如果每行的n個字母均不相同,每列的n個字母均不相同,則稱這種方陣為n*n拉丁方或n階拉丁方。每個字母在任一行、任一列中隻出現一次。

       什麼是正交拉丁方?

設有兩個n階的拉丁方,如果将它們疊合在一起,恰好出現n2個不同的有序數對,則稱為這兩個拉丁方為互相正交的拉丁方,簡稱正交拉丁方。

    例如:3階拉丁方

                 A B C                      A B C

                 B C A        和          C A B

                 C A B                      B C A  

      用數字替代拉丁字母:

                 1  2  3                   1  2  3               (1,1)   (2,2)   (3,3)

                 2  3  1       和        3  1  2     ---->  (2,3)   (3,1)   (1,2)

                 3  1  2                   2  3  1               (3,2)   (1,3)   (2,1)

   二、正交實驗法

        正交試驗設計(Orthogonal experimental design)是研究多因素多水準的又一種設計方法,它是根據正交性從全面試驗中挑選出部分有代表性的點進行試驗,這些有代表性的點具備了“均勻分散,齊整可比”的特點,正交試驗設計是分式析因設計的主要方法。是一種高效率、快速、經濟的實驗設計方法。

        日本著名的統計學家田口玄一将正交試驗選擇的水準組合列成表格,稱為正交表。例如作一個三因素三水準的實驗,按全面實驗要求,須進行33=27種組合的實驗,且尚未考慮每一組合的重複數。若按L9(33) 正交表按排實驗,隻需作9次,按L18(37) 正交表進行18次實驗,顯然大大減少了工作量。因而正交實驗設計在很多領域的研究中已經得到廣泛應用。

        利用因果圖來設計測試用例時, 作為輸入條件的原因與輸出結果之間的因果關系,有時很難從軟體需求規格說明中得到。往往因果關系非常龐大,以至于據此因果圖而得到的測試用例數目多的驚人,給軟體測試帶來沉重的負擔,為了有效地,合理地減少測試的工時與費用,可利用正交實驗設計方法進行測試用例的設計。

        正交實驗設計方法:依據Galois理論,從大量的(實驗)資料(測試例)中挑選适量的、有代表性的點(例),進而合理地安排實驗(測試)的一種科學實驗設計方法。類似的方法有:聚類分析方法、因子方法方法等。

   三、利用正交實驗設計測試用例的步驟:

        (1)提取功能說明,構造因子--狀态表 

        把影響實驗名額的條件稱為因子,而影響實驗因子的條件叫因子的狀态。

        利用正交實驗設計方法來設計測試用例時,首先要根據被測試軟體的規格說明書找出影響其功能實作的操作對象和外部因素,把他們當作因子;而把各個因子的取值當作狀态。對軟體需求規格說明中的功能要求進行劃分,把整體的、概要性的功能要求進行層層分解與展開,分解成具體的有相對獨立性的、基本的功能要求。這樣就可以把被測試軟體中所有的因子都确定下來,并為确定每個因子的權值提供參考的依據。确定因子與狀态是設計測試用例的關鍵。是以要求盡可能全面的、正确的确定取值,以確定測試用例的設計作到完整與有效。

      (2)權重篩選,生成因素分析表

        對因子與狀态的選擇可按其重要程度分别權重。可根據各個因子及狀态的作用大小、出現頻率的大小以及測試的需要,确定權值的大小。

      (3)利用正交表構造測試資料集 

   利用正交實驗設計方法設計測試用例,比使用等價類劃分、邊界值分析、因果圖等方法有以下優點:節省測試工作工時;可控制生成的測試用例數量;測試用例具有一定的覆寫率。

        在使用正交實驗法時,要考慮到被測系統中要準備測試的功能點,而這些功能點就是要擷取的因子或因素,但每個功能點要輸入的資料按等價類劃分有多個,也就是每個因素的輸入條件,即狀态或水準值。

      四、正交表的構成

          行數(Runs):正交表中的行的個數,即試驗的次數,也是我們通過正交實驗法設計的測試用例的個數。

          因素數(Factors) :正交表中列的個數,即我們要測試的功能點。

          水準數(Levels):任何單個因素能夠取得的值的最大個數。正交表中的包含的值為從0到數“水準數-1”或從1到“水準數” 。即要測試功能點的輸入條件。

        正交表的形式: 

                             L行數(水準數因素數)

        如:L8(27)

正交實驗法的由來

   五、正交表的正交性

    整齊可比性

    在同一張正交表中,每個因素的每個水準出現的次數是完全相同的。由于在試驗中每個因素的每個水準與其它因素的每個水準參與試驗的機率是完全相同的,這就保證在各個水準中最大程度的排除了其它因素水準的幹擾。因而,能最有效地進行比較和作出展望,容易找到好的試驗條件。

    均衡分散性

    在同一張正交表中,任意兩列(兩個因素)的水準搭配(橫向形成的數字對)是完全相同的。這樣就保證了試驗條件均衡地分散在因素水準的完全組合之中,,因而具有很強的代表性,容易得到好的試驗條件。

v