測試過程中,我們經常遇到需要覆蓋多個變化引數的測試場景,如我們測試bs
。這種方式不但不科學,而且測試覆蓋面也很窄,這裡可以使用常見的兩種方法進行測試用例的分析和設計:組合分析方法和正交實驗設計方法。(均以上圖為例)
1.用組合分析方法進行測試用例設計:
關於組合分析方法,依據的是多因素組合測試可以生成測試用例集,以覆蓋任意n
個因素的所有取值組合,在理論上可以發現由
n個因素共同作用引發的缺陷。簡單的理解就是每乙個引數的每乙個值只需要和其他引數至少配對一次就夠了。
上面的因子及各因子狀態如下:
碼流類別:主碼流,子碼流,事件引數
解析度:dcif
,cif
,qcif
,2cif
,4cif
,保留,
vga,
uxga
, hd720p
#這個設定要根據前段裝置的型號,有的裝置不支援較大的解析度
影象質量:最好,較好,次好,一般,較差,差
位元速率型別:定位元速率,變位元速率
,320kbps
,2048kbps #
對於這個設定可以隨機選擇幾個進行測試
,1/4,1
,10,20 #
對於這個設定可以隨機選擇幾個進行測試
幀型別:單p
幀,bbp
幀,bp
幀i幀間隔:0,
200,400 #由於i
幀間隔的範圍
0—400,我們隨機選擇三個
按照傳統思路,這些引數的排列組合有:3*2*9*6*2*3*6*3*3=104976
,也就是說我們要進行
104976
次測試的執行,這個在現實測試中是不可能實現的。我們用組合分析方法可以裁剪測試用例的數量,達到我們可接受的範圍。
這裡要用到乙個工具:pict
。具體操作步驟如下:
1. 先安裝好pict
工2. 建乙個模型檔案,檔案是.txt
格式,如:
modelfiles.txt
。針對上**件內容如下:
」「:」都是英文本元
3. dos視窗進入到
pict
安裝目錄下,執行:pict modelfiles.txt
注:若將測試因子的優化組合儲存到安裝目錄下,且以*.txt
格式顯示,可輸入命令c:\program files\pict>pict modelfiles.txt > output.txt;也可以*.xls
格式顯示,可輸入命令c:\program files\pict>pict modelfiles.txt > output.xls
測試因子的優化組合如下:(由於.xls
格式中輸入
1/16顯示1
月16日,也即
1/16
不能在.xls
中顯示,這裡以
1\16
代替1/16
,其他類似)
通過匯出的.xls,我們知道,只需要執行60
次測試用例即可達到
104976
次同樣的效果。在測試中,我們可以在模型檔案中加入一些條件語句限制一些特殊的情況,比如當視屏位元速率選擇自定義時,自定義位元速率輸入框不能為空等。對於有經驗的人員可以在上面組合的基礎上適當的加入一些容易出現問題的測試用例,增加測試的覆蓋面。最近讀《微軟的軟體測試之道》,裡面也有關於組合測試的介紹,書中建議組合分析從兩因素組合測試開始,逐漸提高組合維度,直至6
因素組合測試,因為有研究表明
6因素組合測試可以發現絕大多數的程式缺陷。關於這段話的描述現在還不是太明白,還有待繼續深入學習。
2.用正交分析方法設計測試用例
所謂正交試驗法,就是從大量的試驗點中挑選出適量的,有代表性的點,合理的安排試驗。
如果我們直接在上例中運用正交試驗法,可能仍然達不到我們可以接受的範圍,即測試用例還是很多。這時我們可以計算各因子和狀態的權值,刪去一部分權值較小,即重要性較小的因子或者狀態,使最後生成的測試用例集縮減到我們可以接受的範圍。
針對上例中,我們做如下修改(這裡只是指出怎麼應用正交試驗法,所選修改以簡便為主,實際中可根據需要刪減):
碼流類別:
主碼流=0,
子碼流=1
碼流型別:
復合流=0,
=1解析度:dcif=0,cif=1,qcif=2,4cif=3,
保留=4
影象質量:
最好=0,
較好=1,
次好=2,
一般=3,差=4
全幀率=0,1/16=1,1/4=2,1=3,10=4,20=5
幀型別:單p
幀=0,bbp
幀=1,bp
幀=2
根據上面分析情況,我們在常用正交矩陣表中,選擇在保證因素數、水平數最接近但略大於實際值的基礎上,選擇行數最小的矩陣表。我們選擇5^6的矩陣表:如下
5 對於有些因子實際上所含的狀態數小於5個,可以用確定的狀態數去間隔性的填充範圍外的狀態。最後把因子實際的狀態按照上面的規則填到正交試驗表中,即可得到可接受的測試用例。
這裡對這兩種方法做個比較小結:
1. 正交分析方法是對任意多個因素取值組合實施「等概率」覆蓋,以便我們得到的實驗樣本均勻的分布在樣本空間。「等概率覆蓋
」有助於在正交試驗中確定各個因素對實驗結果的貢獻,但是對於組合測試提高錯誤檢測能力並沒有幫助。組合分析是隨機生成的,它的原則是覆蓋即可,不會去考慮「等概率」覆蓋的問題。
2. 通過上面的例子我們知道使用正交表構造測試用例,要尋找正確的正交表、對其進行剪裁、替換引數,方能獲得測試用例集。但是對其裁剪,會降低測試的覆蓋率;不裁剪,生成的測試用例數超出了我們可以接受的範圍。而組合分析運用pict
可以很方便的獲取一組測試資料,在回歸測試中,可以很方便的運用另一組組合分析資料,提高測試覆蓋率。
運用正交試驗分析需要對要測試的因子及因子狀態有清楚的了解,並對其加權,哪些權值較重,哪些較輕,很適合測試小生用, 可以加深對測試物件的理解,對業務流程的熟悉。組合分析利於快速的生成測試用例,不需要對測試物件有深刻的了解。具體運用哪種方法,要看具體測試物件,也要看測試人員自己的喜好。
寫於2011/10/29
取值方法 正交法 測試用例設計方法
正交實驗法的介紹 正交試驗法是研究多因素 多水平的一種試驗法,它是利用正交表來對試驗進行設計,通過少數的試驗替代全面試驗在一項試驗中,把影響試驗結果的量稱為試驗因素 因子 簡稱因素。因素可以理解為試驗過程中的自變數,試驗結果可以看成因素的函式。在試驗過程中,每乙個因素可以處於不同的狀態或狀況,把因素...
軟體測試 正交試驗測試用例設計方法
正交試驗法是在大量的試驗點中挑選出適量的。有代表性的點,應用根據伽羅瓦理論匯出的正交表,合理的安排試驗的一種科學的實驗設計方法,是研究多因素多水平的一種設計方法。假設乙個web站點,需要對該站點做相容性測試,該站點相容大量的伺服器和作業系統,並且有許多具有各種外掛程式的瀏覽器 web瀏覽器 fire...
列正交化 施密特正交化方法
a1 1 1 0 0 a2 1 0 1 0 a3 1 0 0 1 a a1 a2 a3 u a m,n size u y u y 1 y 1 norm y 1 for k 2 n y k u k endfor k 2 n for j k n y j y j y k 1 y j y k 1 endp1...