需求:
窗體中有多個控件(字體、字符樣式、顏色、字號),工具
每一個控件有多個取值測試
字體:仿宋、楷體、華文彩雲字體
字符樣式:粗體、斜體、下劃線.net
顏色:紅色、綠色、藍色blog
字號:20號、30號、40號cmd
若是按照正常步驟進行,須要 3*3*3*3=81 種組合,就須要寫81個測試用例,顯得比較多,針對這種組合量比較大的狀況,如何採用最少的測試用例集合得到最大的測試覆蓋率呢,就能夠採用 正交排列法(---定義:正交排列法就是可以使用最小的測試過程集合得到最大的測試覆蓋率。附:這是統計學的一個研究成果)。變量
正交表的類別
可分爲:單一水平正交表 和 混合水平正交表。方法
單一水平正交表:各列水平數相同的正交表稱爲等水平正交表。好比:L9 (3**4) -->(附:括號裏意思爲3的4次方,下同。)、L2 7(3**13) 稱爲3水平正交表。 L4 (2**3)、L8 (2**7) 稱爲2水平正交表。單一水平正交表能夠用 Ln(m**k) 表示,n是行數,m是水平數,k是因數。好比上邊需求示例:能夠理解爲4因數(字體,字符樣式,顏色,字號),3水平(意思是每一個因數裏都有三個選項,好比:字體裏有 仿宋、楷體、華文彩雲 3個選擇)。通常狀況下,咱們能夠直接肯定m和k,n 能夠根據水平數和因數計算行數,公式爲:n=k*(m-1)+1。統計
混合水平正交表:各列水平數不徹底相同的正交表稱爲混合水平正交表。好比:L8 (4**1 2**4)-->(附:括號裏意思爲4的1次方 和 2的4次方。意思爲表中共有8行,有一列的水平爲4,有4列的水平爲2。)。混合水平正交表能夠用 Ln(m1**k1 m2**k2) 表示。通常狀況下,咱們能夠直接肯定m和k,n 能夠根據水平數和因數計算行數,公式爲:n=k1*(m1-1)+k2*(m2-1)+k3*(m3-1)......+ kx*(mx-1) + 1。協議
查看正交表
http://support.sas.com/techsup/technote/ts723_Designs.txt
如何選取合適的正交表
假如咱們肯定有3因數2水平,計算n=3*(2-1)+1=4,應該表示爲 L4(2**3),那麼咱們看看有木有和這個正好相等的正交表,若是有,那麼把變量值複製進去這個表中,若是沒有,按照以下方法選取:
1. 水平數相等,因數相等時,取行數恰好比自定義正交表略大的
2. 水平數相等,因數不相等時,取行數恰好比自定義正交表略大的,因數恰好比自定義正交表略大的。好比:自定義爲: L7(3**3), 咱們選取爲 L9(3**4), 套用以後,最後一列因素去掉
3. 水平數不相等時,即:混合正交表。
例:
有五個因素(變量):
A、B、C、D和E
兩個因素有兩個水平(變量的取值)、兩個因素有三個水平,一個因素有六個水平:
A:A一、A2
B:B一、B2
C:C一、C二、C3
D:D一、D二、D3
E:E一、E二、E三、E四、E五、E6
自定義爲:L11(2^2 3^2 5^1)
選擇正交表:
表中的因素數(變量)>=5
表中至少有二個因素的水平數(變量的取值)>=2
至少有另外二個因素的水平數>=3
還至少有另一個因素的水平數>=6
行數取最少的一個:L49(7^8)或者L18(3^6 6^1))
結果:L18(3^6 6^1)
例:
m1=5 k1=5
m2=2 k2=1
n=22
自定義爲:L22(5^5 2^1)
沒有正好等於22的正交表,此時選擇大於22而且知足m>=max(m1=5, m2=2), k>=k1+k2=6 的正交表,查到有
L25(5^6)、L49(7^8) 都符合,選擇行數少的,即:最終選擇 L25(5^6)
對於混合正交表,可使用allpairs工具輔助咱們進行選擇。
allpairs工具使用:
1)製做取值表(不要編號) 因素和水平 (因素是一行 。。。。 )
2)製做的取值表複製到一個txt文本中(不要改格式) user.txt
3)把txt文本放入allpairs工具的文件夾中
4)在文件夾中運行 cmd (我到達了這個文件夾下面)
4)在allpairs工具的文件夾路徑下使用DOS命令:
allpairs.exe 創建的txt文本 > 用例結果文本(能夠不存在)
例:
————————————————版權聲明:本文爲CSDN博主「殤夜07」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。原文連接:https://blog.csdn.net/l1159015838/article/details/93773291