黑盒測試方法(五)正交實驗設計方法
一、應用場景
利用因果圖來設計測試用例時,作為輸入條件的原因與輸出結果之間的因果關係,有時很難從軟體需求規格說明中得到。因果圖而得到的測試用例數目多的驚人,可利用正交實驗設計。
二、什麼是正交實驗法
正交實驗設計方法:依據Galois理論,從大量的(實驗)資料(測試例)中挑選適量的,有代表性的點(例)。類似的方法有:聚類分析方法,因子方法方法等.
節省測試工作工時;可控制生成的測試用例數量;測試用例具有一定的覆蓋率。
三、設計步驟:
1.提取功能說明,構造因子--狀態表
把影響實驗指標的條件稱為因子.而影響實驗因子的條件叫因子的狀態.分解說明書中的功能為基本的功能。找出影響其功能實現的
2.加權篩選,生成因素分析表
對因子與狀態的選擇可按其重要程度分別加權.可根據各個因子及狀態的作用大小,出現頻率的大小以及測試的需要,確定權值的大小。
3.利用正交表構造測試資料集
正交表的推導依據Galois理論(這裡省略,需要時可查數理統計方面的教材)。
四、公式
單一水平正交表Ln(mk),k代表最多可安排影響指標因素的個數或正交表的列數,m表示每個因素水平數,且有n=k*(m-1)+1。
對於混合水平正交表Ln(m1k1m2k2..mxkx),用n=k1*(m1-1)+k2*(m2-1)+…kx*(mx-1)+1
如果不存在試驗次數等於n的正交表,我們就得找出滿足試驗次數大於n的正交表並且水平數大於等於max(m1,m2,m3,…)、因素數大於等於(k1+k2+k3+…)。比如22
每列中不同數字出現的次數相等。任意2列其橫向組成的數字對中,每種數字對出現的次數相等。
五、示例
根據“性別”=“男,女”進行查詢根據“班級”=“1班,2班”查詢根據“成績”=“及格,不及格”查詢。
1. 傳統設計:共2*2*2=8個用例
2. 用正交:共3*(2-1)+1=4個
序號 |
性別 |
班級 |
成績 |
1 |
女 |
1班 |
及格 |
2 |
女 |
2班 |
不及格 |
3 |
男 |
1班 |
不及格 |
4 |
男 |
2班 |
及格 |
3. 因素數和水平數越大越能體現用正交表的好處。
六、混合水平正交表示例
1. 確定因素數和水平數
因素數:對比度,色彩效果,感光度,白平衡,照片大小,閃光模式
水平數:
對比度:正常、極低、低、高、極高
色彩效果:無、黑白、棕褐色、負片、水綠色
感光度:自動、100、200、400、800
白平衡:自動、白熾光、日光、熒光、陰光
照片大小:5M、3M、2M、1M、VGA
閃光模式:開、關
2. 根據因素數和水平數確定n值
m1=5,k1=5
m2=2,k2=1
Ln(5521)
n=k1*(m1-1)+k2* (m2-1)+1=5*(5-1)+1*(2-1)+1=20+1+1=22
3. 3.選擇合適的正交表
不存在n=22的正交表,這個時候我們就得找n大於22並且滿足m>=max(m1=5,m2=2),k>=k1+k2=5+1=6的正交表。查到L25(56),L49(78)
七、正交試驗法的優缺點
優點:“均勻分散,整齊可比”的特點。通過使用正交試驗法減少了測試用例,工時與費用,提高測試用例的有效性。是一種高效率、快速、經濟的實驗設計方法。
缺點:對每個狀態點同等對待,重點不突出,容易造成在使用者不常用的功能或場景中,花費不少時間進行測試設計與執行,而在重要路徑的使用上反而沒有重點測試。