正交排列法
說明:正交表是數學中統計學的專業發明
提示:
1)做為測試人員只需要能夠選擇合適的正交表,並且能夠將正交表應用於測試即可
2)正交表是應用的工具,不需要背誦,不需要計算
一、應用場合
在界面中有多個控件,控件之間有多種組合關系,如果組合的數量巨大(一般超過20種),沒有必要將所有組合都測試,可以通過正交排列法將組合中最優,最少的組合進行測試。
問題:判定表和正交排列法的異同?
都可以測試控件之間的組合情況
判定表適合測試組合數量比較少(一般少於20種組合的會選擇判定表)
正交排列法適合測試組合數量較多的(一般多於20種)
判定表要分析控件之間的組合和限制關系,而正交排列表只需分析控件間組合
二、解析正交排列法
正交表公式:
L(Line):行
n:表示正交表的行數
提示:正交表確定后,n值是固定的,不需要測試人員計算
m:表示正交表中數據的最大值
測試時:m表示每個控件的取值個數
K:表示正交表的列數
測試時:k表示參與組合的控件的個數
三、正交排列法的測試步驟
步驟1:分析需求,將參與組合的控件以及每個控件的取值列到excel表格中
步驟2:選擇合適的正交表
其實就是確定m值和k值的過程
M值:表示每個控件的取值個數 ,案例中 M=3
K值:參與組合的控件的個數,案例中 k=4
所以要選擇的正交表是:3的4次冪的
步驟3:應用正交表(映射)
主要就是將控件和控件的取值與正交表的列標題和列的取值進行替換
1)將控件名稱與正交表的列標題(因子)部分進行替換
2)將每個控件的取值跟對應列的數值(狀態)進行替換
步驟4:根據生成的正交排列表,編寫測試用例。
每行是一種控件組合,寫1條用例
總結正交表
1、正交表是優選出最少、最優的測試組合,但是畢竟沒有測試所有的組合,所以可能存在遺漏缺陷的風險,如果時間允許,可以補充測試。
2、正交表的局限:
1)正交表的數量有限(9張)
(1)L4(23)
(2)L8(27)
(3)L12(211)
(4)L9(34)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(5)L16(45)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(6)L25(56)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(7)L8(4×24)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(8)L12(3×24)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(9)L16(44×23)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2)要求每個控件中取值個數相同,但是實際應用中很難遇到。(很多應用都不相同)
3、正交表的特性(均勻、平均):
1)每列中不同的數值出現次數均等
2)任意兩列中,每一行會形成1個有序數對,則每個有序數對出現的次數均等
四、正交表的強化應用
--沒有合適的正交表
1、k值不合適—k值(控件個數)如果沒有正好符合的值,那么選擇最接近的大一點的,用不到的列可以刪除。
例如:3的3次冪的正交表沒有,可以選擇3的4次冪的正交表,多余1列可以刪除。
2、m值—每個控件的取值個數(M值)不同,可以使用以下兩種方式解決:
1)少數服從多數原則
就是控件的取值個數相等的最多的那個控件的m值(例如:案例中m=3的控件個數最多,所以m值就等於3)
分析:m=3,k=4所以要選擇3的4次冪的正交表
2)最大值原則(建議)
哪個控件的取值數最多,那么m值就是那個控件的取值個數
分析案例:
K=4,m=4(最大)==》理論上應該選擇4的4次冪的正交表,但是沒有,所以最終選擇:4的5次冪的正交表,多余的1列刪除即可。
方法總結:
如果有多余的列,刪除即可
先把能映射的地方映射好
把每列多出的機會,盡量均勻的分配給該列的各個取值
最后還要檢查是否有完全一樣的組合,如果有要適當處理(刪或改,建議改)
選擇正交表時最優先的是選擇正合適的正交表,當沒有合適的正交表時,再去考慮選擇最接近的正交表
問題:正交排列法在實際測試中常用於測試什么功能?
常用於
1)測試屬性配置
2)測試軟件的兼容性問題
擴展:補碼
計算機中整數是以補碼存儲的:
正整數:
一個正整數的補碼和其原碼相同
負整數:
將該數取絕對值
計算絕對值原碼
將原碼按位取反
+1