测试:如何选择合适的正交表
需求:
窗體中有多個(gè)控件(字體、字符樣式、顏色、字號(hào)),
每個(gè)控件有多個(gè)取值
字體:仿宋、楷體、華文彩云
字符樣式:粗體、斜體、下劃線
顏色:紅色、綠色、藍(lán)色
字號(hào):20號(hào)、30號(hào)、40號(hào)
如果按照正常步驟進(jìn)行,需要 3*3*3*3=81 種組合,就需要寫(xiě)81個(gè)測(cè)試用例,顯得比較多,針對(duì)這種組合量比較大的情況,如何采用最少的測(cè)試用例集合獲得最大的測(cè)試覆蓋率呢,就可以采用? 正交排列法(---定義:正交排列法就是能夠使用最小的測(cè)試過(guò)程集合獲得最大的測(cè)試覆蓋率。附:這是統(tǒng)計(jì)學(xué)的一個(gè)研究成果)。
正交表的類別
可分為:單一水平正交表 和 混合水平正交表。
單一水平正交表:各列水平數(shù)相同的正交表稱為等水平正交表。比如:L9 (3**4) -->(附:括號(hào)里意思為3的4次方,下同。)、L2 7(3**13) 稱為3水平正交表。 L4 (2**3)、L8 (2**7) 稱為2水平正交表。單一水平正交表可以用 Ln(m**k) 表示,n是行數(shù),m是水平數(shù),k是因數(shù)。比如上邊需求示例:可以理解為4因數(shù)(字體,字符樣式,顏色,字號(hào)),3水平(意思是每個(gè)因數(shù)里都有三個(gè)選項(xiàng),比如:字體里有 仿宋、楷體、華文彩云 3個(gè)選擇)。一般情況下,我們可以直接確定m和k,n?可以根據(jù)水平數(shù)和因數(shù)計(jì)算行數(shù),公式為:n=k*(m-1)+1。
混合水平正交表:各列水平數(shù)不完全相同的正交表稱為混合水平正交表。比如:L8 (4**1? ? 2**4)-->(附:括號(hào)里意思為4的1次方 和 2的4次方。意思為表中共有8行,有一列的水平為4,有4列的水平為2。)。混合水平正交表可以用 Ln(m1**k1? ? m2**k2) 表示。一般情況下,我們可以直接確定m和k,n?可以根據(jù)水平數(shù)和因數(shù)計(jì)算行數(shù),公式為:n=k1*(m1-1)+k2*(m2-1)+k3*(m3-1)......+ kx*(mx-1) + 1。
查看正交表
http://support.sas.com/techsup/technote/ts723_Designs.txt
如何選取合適的正交表
假如我們確定有3因數(shù)2水平,計(jì)算n=3*(2-1)+1=4,應(yīng)該表示為 L4(2**3),那么我們看看有木有和這個(gè)正好相等的正交表,如果有,那么把變量值復(fù)制進(jìn)去這個(gè)表中,如果沒(méi)有,按照如下方法選取:
1. 水平數(shù)相等,因數(shù)相等時(shí),取行數(shù)剛好比自定義正交表略大的
2. 水平數(shù)相等,因數(shù)不相等時(shí),取行數(shù)剛好比自定義正交表略大的,因數(shù)剛好比自定義正交表略大的。比如:自定義為:? ? ? ? ? ? ? ? ?L7(3**3), 我們選取為 L9(3**4),?套用之后,最后一列因素去掉
3.??水平數(shù)不相等時(shí),即:混合正交表。
例:
有五個(gè)因素(變量):
A、B、C、D和E
兩個(gè)因素有兩個(gè)水平(變量的取值)、兩個(gè)因素有三個(gè)水平,一個(gè)因素有六個(gè)水平:
A:A1、A2
B:B1、B2
C:C1、C2、C3
D:D1、D2、D3
E:E1、E2、E3、E4、E5、E6
自定義為:L11(2^2 3^2 5^1)
選擇正交表:
? ? ? 表中的因素?cái)?shù)(變量)>=5
表中至少有二個(gè)因素的水平數(shù)(變量的取值)>=2
至少有另外二個(gè)因素的水平數(shù)>=3
還至少有另外一個(gè)因素的水平數(shù)>=6
行數(shù)取最少的一個(gè):L49(7^8)或者L18(3^6 6^1))
結(jié)果:L18(3^6 6^1)例:
m1=5? ?k1=5
m2=2? ?k2=1
n=22
自定義為:L22(5^5? ?2^1)
沒(méi)有正好等于22的正交表,此時(shí)選擇大于22并且滿足m>=max(m1=5, m2=2),? ?k>=k1+k2=6 的正交表,查到有
L25(5^6)、L49(7^8) 都符合,選擇行數(shù)少的,即:最終選擇?L25(5^6)
對(duì)于混合正交表,可以使用allpairs工具輔助我們進(jìn)行選擇。
allpairs工具使用:
1)制作取值表(不要編號(hào)) 因素和水平 (因素是一行 。。。。 )
2)制作的取值表復(fù)制到一個(gè)txt文本中(不要改格式) user.txt
3)把txt文本放入allpairs工具的文件夾中
4)在文件夾中運(yùn)行 cmd (我到達(dá)了這個(gè)文件夾下面)
4)在allpairs工具的文件夾路徑下使用DOS命令:
allpairs.exe 建立的txt文本 > 用例結(jié)果文本(可以不存在)
例:
總結(jié)
以上是生活随笔為你收集整理的测试:如何选择合适的正交表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android DCIM相册保存
- 下一篇: matlab 仿真短路故障设置,基于MA