正交試驗設計(Orthogonal experimental design)

Edited by Chloe, Esther, May (以字母排序)

        針對有多重輸入的情況設計測試案例,我們可用「窮舉法」來將所有的情況全部都考慮到,但由於窮舉法的組合非常地多,需要執行的時間也要很久,因此就有了「正交試驗設計法」來改善窮舉法的缺點。
「正交試驗設計法」是一種針對多重輸入值的情況設計測試案例的方法,利用輸入的值做組合,挑選出有最有代表性的組合,來減少測試案例,用少數的測試案例,達到同樣的測試效果。

正交試驗設計(Orthogonal experimental design):

       對於單個試驗因素或兩個試驗因素來說,因為因素少,所以在設計或實施試驗時比較容易,但是日常工作中,會影響的因素往往不只兩個,有時候三個或是三個以上,若是要全面去進行試驗是一件困難的事情,所以「正交試驗設計」是利用「正交表」來分析多種因素試驗的一種設計方法,它會挑選出部分有代表性的組合進行試驗,並透過試驗結果選出最好的組合,它的特點是,用部分試驗來取代全部試驗,通過針對部分試驗的結果分析,來了解全面試驗的狀況。

使用正交試驗設計軟體測試案例的步驟:
(一)確定因素:軟體的輸入及硬體的運行環境。
(二)確定因素的取值範圍:軟體的輸入範圍和可用的硬體資源。
(三)確定每個因素的水平:可用等價類劃分、邊界值分析等等測試技術來看算因素的取值範圍有哪些。
(四)選擇正交表:選適合的正交表,正交表的 row 數與因素內最多的水平數要一致;正交表的 column 數要大於或等於確定的因素數。
(五)設計測試案例表。

正交表 ( Ln(j^i) ):

L 為正交表的代號
n 為正交表的 row 數,即「試驗的次數」
j 為水平數
i 為正交表的 column 數:即「因素的個數」

正交表必須滿足以下兩點特性,若有一條不滿足,則不為正交表:

  • 每行中不同數字出現的次數相等:表示每個因素的每個水平與其他因素的水平參加試驗的機率是相同的

  • 再任意兩行其橫向組成的數字對中,每種數字對出現的次數相等:保證試驗點均勻分散在因素與水平的完全組合中,有很強的代表性

簡單來說,正交表的特性是:每個因素的每個水平與另一個因素各水平各碰一次,這就是正交性。

舉例一:假設影響文字的因素有四個(顏色、大小、效果、字型),每個因素有三個水平選項,如下圖所示:

則正交表選擇 L9(3^4) ,表示需要做 9 次的實驗,觀察 4 個因素,每個因素有 3 個水平,所以全部因素的所有組合有 3^4。

因此,開始進行正交表的內容:

  • 對每個因素的水平進行編號,分別為 1,2,3。並按照水平數 3 做分組,即每 3 個試驗為一組。

  • 第一組試驗,全部使用因素 1 的第一個水平;第二組試驗,全部使用因素1的第二個水平;第三組試驗,全部使用因素 1 的第三個水平

  • 每一組試驗中,分別使用因素 2 的每個水平1,2,3

  • 剩下的因素,根據正交表的兩個特性進行填寫

對照因素如下:

舉例二:我們要知道「晾衣服會不會乾」,而影響衣服會不會乾的獨立因素有 4 個,每個因素的水平都是 3 個。分別是如下表:

套用正交表 L9(3^4),得出的測試組合為以下:

         由以上兩個例子,都可以看得出來,原本利用窮舉法應該要做總共  3^4,即 81 次的測試,現在僅需要做 9 次就可達到我們要的效果。透過正交試驗法能夠在很大程度上簡化測試用例集的數目,提高測試效率,降低測試成本。

參考網址:

(1) 正交試驗設計
(2) 正交表
(3) 正交試驗設計在市場調查中的應用研究
(4) 正交試驗設計(ppt 檔)
(5) 正交試驗在軟件測試用例設計中的應用(pdf 檔)
(6) 正交試驗在手機軟件測試用例生成中的應用
(在此註明「正交試驗在手機軟件測試用例生成中的應用」此論文的錯誤,以供閱讀:     *p3 : 五個獨立的元素裡面的 categories 是錯的,正確的是 Occurs
*p5 : 第三點的第三小點,除了刪除第 8、15、17 組,應該也要刪減第 24 組
*p6 到最後是一個範例,在說如何寫程式,讀入正交表,讀入因素和其水平,最後生成測試用例)

廣告

3 thoughts on “正交試驗設計(Orthogonal experimental design)

  1. Orthogonal Array 是田口方法中改善工程品質的重要工具。這個題目蠻好的,例一的正交表格可以把因素帶入,看起來比較真實,像例二一樣。原本寫的「因素一,因素二」,還要多一層對應,閱讀起來比較困難。

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s