測試方法之正交試驗法
- 2019 年 11 月 7 日
- 筆記
一、正交實驗法
正交試驗設計(Orthogonal experimental design)是研究多因素多水平的又一種設計方法,它是根據正交性從全面試驗中挑選出部分有代表性的點進行試驗,這些有代表性的點具備了「均勻分散,齊整可比」的特點,正交試驗設計是分式析因設計的主要方法。是一種高效率、快速、經濟的實驗設計方法。 正交實驗設計方法:依據Galois理論,從大量的(實驗)數據(測試例)中挑選適量的、有代表性的點(例),從而合理地安排實驗(測試)的一種科學實驗設計方法。類似的方法有:聚類分析方法、因子方法方法等。
二、正交表
將正交試驗選擇的水平組合,列成一種特製的表格,一般用Ln(m的k次方)表示,L代表是正交表,n代表試驗次數或正交表的行數,k代表最多可安排影響指標因素的個數或正交表的列數,m表示每個因素水平數,且有n=k因數*(m水平數-1)+1。
最簡單的正交表是L4(2³),含意如下:「L」代表正交表;L 下角的數字「4」表示有 4 橫行,簡稱行,即要做四次試驗;括號內的指數「3」表示有3 縱列,簡稱列,即最多允許安排的因素是3 個;括號內的數「2」表示表的主要部分只有2 種數字,即因素有兩種水平1與2。正交表的特點是其安排的試驗方法具有均衡搭配特性。
三、正交表特點
正交表必須滿足這兩個特點,有一條不滿足,就不是正交表。
齊整可比:每一列中,不同的數字出現的次數相等,即對任何一個因素,不同水平的實驗次數是一樣的。(整齊可比性) 均勻分散:任意兩列中,同一行的兩個數字構成有序數對,每種數對出現的次數相同,即任何兩個因素之間都是交叉分組的全面實驗。(均衡搭配性) 將正交表的任意兩行(或兩列)交換,仍是正交表。 將某一列中的數字號碼相互對換,仍是正交表。
四、如何選擇正交表 1、考慮因素(變量)的個數 2、考慮因素水平(變量的取值)的個數 3、考慮正交表的行數 4、取行數最少的一個 五、確定因素數和水平數 1、因素數:確定測試中有多少個相互獨立的考察變量。 2、水平數:確定任何一個因素在實驗中能夠取得的最多個值。
五、案例
1、案例1:
姓名 |
|
---|---|
身份證號 |
|
手機號 |
|
測試的控件有3個:姓名、身份證號、手機號,也就是要考慮因素有三個;而每個因素里的狀態有兩個:填與不填,我們可以列出所有測試用例9個如下:
序號 |
姓名 |
身份證號 |
手機號 |
---|---|---|---|
1 |
填 |
填 |
填 |
2 |
填 |
填 |
不填 |
3 |
填 |
不填 |
不填 |
4 |
填 |
不填 |
填 |
5 |
不填 |
填 |
填 |
6 |
不填 |
填 |
不填 |
7 |
不填 |
不填 |
不填 |
8 |
不填 |
不填 |
填 |
|
|
|
|
選擇正交表時分析:
1、表中的因素數>=3;
2、表中至少有3個因素數的水平數>=2;
3、行數取最少的一個。
從正交表公式中得出n=因數3*(水平數2-1)+1=4,結果為:L4(2的3次方)
序號 |
姓名 |
身份證號 |
手機號 |
---|---|---|---|
1 |
填 |
填 |
填 |
2 |
填 |
不填 |
不填 |
3 |
不填 |
填 |
不填 |
4 |
不填 |
不填 |
填 |
5增補 |
不填 |
不填 |
不填 |
從測試用例可以看出:如果按每個因素兩個水平數來考慮,需要8個測試用例,而通過正交實驗法進行的測試用例只有5個,大大減少了測試用例數。用最小的測試用例集合去獲取最大的測試覆蓋率。
2、案例2:
某所大學通信系共2個班級,剛考完某一門課程,想通過「性別」、「班級」和「成績」這三個查詢條件對通信系這門課程的成績分佈,男女比例或班級比例進行人員查詢:
根據「性別」=「男,女」進行查詢
根據「班級」=「1班,2班」查詢
根據「成績」=「及格,不及格」查詢
按照傳統設計——全部測試
分析上述測試需求,有3個被測元素,被測元素我們稱為因素,每個因素有兩個取值,我們稱之為水平值,所以全部測試用例個數是2*2*2=8,參見下表
序號 |
性別 |
班級 |
成績 |
---|---|---|---|
1 |
女 |
1班 |
及格 |
2 |
女 |
1班 |
不及格 |
3 |
女 |
2班 |
及格 |
4 |
女 |
2班 |
不及格 |
5 |
男 |
1班 |
及格 |
6 |
男 |
1班 |
不及格 |
7 |
男 |
2班 |
及格 |
8 |
男 |
2班 |
不及格 |
利用正交表設計測試用例,我們得到的測試用例個數是n=3*(2-1)+1=4,對於三因素兩水平的剛好有L4(23)的正交表可以套用,於是用正交表試驗法得出4個測試用例如下:
序號 |
性別 |
班級 |
成績 |
---|---|---|---|
1 |
女 |
1班 |
及格 |
2 |
女 |
2班 |
不及格 |
3 |
男 |
1班 |
不及格 |
4 |
男 |
2班 |
及格 |
根據實際需要可以在用正交試驗法設計用例的基礎上補充一些測試用例。4個測試用例與8個測試用例相比測試用例個數是減少了。因素數和水平數越大越能體現用正交表的好處。例如:對於一個四因素且每個因素均為三水平的試驗,如果按照全面試驗需要進行3*3*3*3=81次。但是如果用正交試驗法選擇L9(34)正交表,n=4*(3-1)+1=9次試驗就可以覆蓋。從這點可以說明用正交試驗法能有效地、合理地減少測試用例和工時,節約測試成本。