黑盒测试的测试方法及其案例
黑盒測試案例設計技術
- 測試用例
- 測試用例對測試的作用
- 黑盒測試
- 什么是黑盒測試
- 測試方法
- 等價類劃分法
- 概念
- 劃分等價類的原則
- 例題
- 等價類擴展
- 邊界值分析法
- 概念
- 選擇測試用例的原則
- 例題
- 錯誤推測法
- 概念
- 因果圖法
- 因果圖法是什么
- 利用因果圖生成測試用例的基本步驟
- 通常在因果圖中,用Ci表示原因,Ei表示結果
- 例題
- 因果圖在GIS測試中的應用
- 場景法
- 基本流和備選流
- 例題
- 總結
- 如何選取測試方法
測試用例
測試用例就是設計一個情況,軟件在這種情況下,必須能夠正常運行并且達到程序所設計的執行結果。
設計軟件測試用例的目的,就是為了能將軟件測試的行為轉換為可管理的模式
軟件測試是有組織性,步驟性和計劃性的
測試用例對測試的作用
1、可以避免盲目測試并提高測試效率
2、可以使軟件測試的實施重點突出、目的明確
3、在軟件版本更新后只需修正少部分的測試用例,可以降低工作強度,縮短項目周期。
4、功能模塊的通用化和復用化使軟件易于開發,而測試用例的通用化和復用化則會使軟件測試易于開展,并隨著測試用例的不斷精化其效率也在不斷提高。
黑盒測試
什么是黑盒測試
黑盒測試也稱功能測試或數據驅動測試,前提是已知產品所具有的功能,通過測試來檢測每個功能是否都正常使用。
測試方法
黑盒測試方法主要有等價類劃分、邊界值分析、因果圖、錯誤推測、功能圖法、場景法、判定表組成法 、正交實驗設計法等,主要用于軟件確認測試。
等價類劃分法
概念
等價類劃分是一種典型的黑盒測試方法。使用這一方法時,完全不考慮程序的內部結構,只依據程序的規格說明來設計測試用例。由于窮舉測試工作量太大,以至于無法實際完成,促使我們在大量的可能數據中選取其中的一部分作為測試用例。
等價類劃分的辦法是把程序的輸入域劃分成若干部分,然后從每個部分中選取少數代表性數據作為測試用例。沒一類的代表性數據在測試中的作用等價于這一類中的其他值,也就是說,如果某一類中的一個例子發現了錯誤,這一等價類中的其他例子也發生同樣的錯誤;反之,如果某一類中的一個例子沒有發現錯誤,則這一類中的其他例子也不會發生錯誤(除非等價類中的某些例子屬于另一等價類,因為幾個等價類是可能相交的)
等價類的劃分有兩種不同的情況:
有效等價類:指對于程序的規格說明來說是合理的,有意義的輸入數據構成的集合
無效等價類:與有效等價類的定義相反
劃分等價類的原則
1、在輸入條件規定了取值范圍或值的個數的情況下,可以確立一個有效等價類兩個無效等價類,如:PH,性別
2、在輸入條件規定了“必須如何”時,可以確立一個有效等價類一個無效等價類,如:負數不能開平方,除數不為零。
輸入條件是布爾量時,可確定一個有效等價類一個無效等價類。
3、在規定了輸入數據必須遵守的規則情況下,可以確立一個有效等價類(符合)和若干個無效等價類(從不同角度違反規則),如:選擇校址要求面積不小于10000平米,交通便利,離醫院,超市不超過1000米。
4、在確知已劃分的等價類中,各元素在程序處理中的方式不同的情況下,則應再將該等價類進一步地劃分為更小的等價類。如99+1問題
例題
題目:有一個程序讀入3個整數,把這3個整數作為一個三角形的3條邊的長度值。這個程序要打印出信息,說明這3個整數是否能組成三角形,如果能組成三角形,說明這個三角形是不等邊、等腰或等邊三角形。
分析:可以設定3條邊分別為A,B,C。如果他們能構成三角形的3條邊,必須滿足:0<A, 0<B, 0<C且A+B>C,B+C>A,A+C>B。
如果是等腰,要判斷A=B,或B=C,或A=C
如果是等邊,要判斷A=B,且B=C,且A=C
等價類擴展
上面的等價類用例的設計方法是依據早期的計算機語言來定義的,隨著計算機開發技術的發展,該方法也有了擴展。比如有效操作,非法操作。
注意:當多個輸入域在一起時千萬不要對他們的用例進行組合,可以借鑒單元測試的插樁技術的方法。
邊界值分析法
概念
人們從長期的測試工作經驗得知,大量的錯誤是發生在輸入或輸出范圍的邊界上,而不是在輸入范圍的內部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。 使用邊界值分析方法設計測試用例,首先應確定邊界情況。
選擇測試用例的原則
1、如果輸入條件規定了值的范圍,則應該取剛達到這個范圍的邊界值,以及剛剛超過這個范圍邊界的值作為測試輸入數據。
2、如果輸入條件規定了值的個數,則用最大個數、最小個數、比最大個數多1個、比最小個數少1 個的數作為測試數據。
3、如果程序的規格說明給出的輸入域或輸出域是有序集(如有序表、順序文件等),則應選取集合的第一個和最后一個元素作為測試用例。
4、分析規格說明,找出其他可能的邊界條件
例題
如一個整型的數據輸入框,整型的取值范圍是0~65535,可以輸入0、65535、-1、1、65534、65536值進行校驗。
錯誤推測法
概念
1、人們也可以靠經驗和直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的例子。這就是錯誤推測法。
2、錯誤推測法的基本想法是:列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據它們選擇測試用例
3、在GIS中可以無限放大、在空白區域操作等
因果圖法
因果圖法是什么
因果圖方法最終生成的就是判定表。它適合于檢查程序輸入條件的各種組合情況。
利用因果圖生成測試用例的基本步驟
① 分析軟件規格說明的描述中哪些是原因,哪些是結果。原因是輸入條件或輸入條件的等價類,結果是輸出條件。
② 分析軟件規格說明描述中的語義,找出原因與結果之間、原因與原因之間對應的關系,根據這些關系,畫出因果圖。
③ 標明約束條件。由于語法或環境的限制,有些原因和結果的組合情況是不可能出現的。為表明這些特定的情況,在因果圖上使用若干標準的符號標明約束條件。
④ 把因果圖轉換成判定表。
⑤ 為判定表中的每一列設計測試用例。
通常在因果圖中,用Ci表示原因,Ei表示結果
例題
題目:有一個處理單價為1.5元的飲料自動售貨機軟件,若投入1.5元硬幣,按下不同名稱的飲料按鈕,相應的飲料就送出來,若投入2元,在送出飲料同時退5角硬幣
分析:
原因:(1)投1.5元(2)投2元(3)選“可樂”(4)選“雪碧”(5)選“紅茶”
中間狀態:(1)已投幣(2)已選擇飲料
結果:(1)退5角(2)送“可樂”(3)送“雪碧”(4)送“紅茶”
轉化為決策表:
因果圖在GIS測試中的應用
在GIS測量多邊形面積時,一個四邊形的面積是兩個或多個三角形面積的和。
場景法
1、現在的軟件幾乎都是用事件觸發來控制流程的,事件觸發時的情景便形成了場景,而同一事件不同的觸發順序和處理結果就形成事件流。這種在軟件設計方面的思想也可以引入到軟件測試中,可以比較生動地描繪出事件觸發時的情景,有利于測試設計者設計測試用例,同時使測試用例更容易理解和執行。
2、用例場景用來描述流經用例的路徑,從用例開始到結束遍歷這條路徑上所有基本流和備選流
基本流和備選流
圖中經過用例的每條路徑都用基本流和備選流來表示,直黑線表示基本流,是經過用例的最簡單的路徑。備選流用不同的色彩表示,一個備選流可能從基本流開始,在某個特定條件下執行,然后重新加入基本流中(如備選流1和3);也可能起源于另一個備選流(如備選流2),或者終止用例而不再重新加入到某個流(如備選流2和4)。
例題
圖示是ATM例子的流程示意圖。
解答:
(1)場景設計
(2)對于這7個場景中的每一個場景都需要確定測試用例。可以采用矩陣或決策表來確定和管理測試用例。下面顯示了一種通用格式,其中各行代表各個測試用例,而各列則代表測試用例的信息。本示例中,對于每個測試用例,存在一個測試用例ID、條件(或說明)、測試用例中涉及的所有數據元素(作為輸入或已經存在于數據庫中)以及預期結果。
(3)編寫測試用例:
(4)數據設計
一旦確定了所有的測試用例,則應對這些用例進行復審和驗證以確保其準確且適度,并取消多余或等效的測試用例。
測試用例一經認可,就可以確定實際數據值(在測試用例實施矩陣中)并且設定測試數據,如表所示。
總結
對于黑盒測試方法來說,以上4種方法是基本的測試方法,除此之外還有判定表驅動法、正交試驗法、功能圖法和場景法等。
在實際測試中,往往是綜合使用各種方法才能有效地提高測試效率和測試覆蓋率,這就需要認真掌握這些方法的原理,積累更多的測試經驗,以有效地提高測試水平。
如何選取測試方法
① 首先進行等價類劃分,包括輸入條件和輸出條件的等價劃分,將無限測試變成有限測試,這是減少工作量和提高測試效率最有效的方法。
② 在任何情況下都必須使用邊界值分析方法。經驗表明,用這種方法設計出的測試用例發現程序錯誤的能力最強。
③ 可以用錯誤推測法追加一些測試用例,這需要依靠測試工程師的智慧和經驗。
④ 對照程序邏輯,檢查已設計出的測試用例的邏輯覆蓋程度。如果沒有達到要求的覆蓋標準,應當再補充足夠的測試用例。
⑤ 如果程序的功能說明中含有輸入條件的組合情況,則一開始就可選用因果圖法和判定表驅動法。
⑥ 對于參數配置類的軟件,要用正交試驗法選擇較少的組合方式達到最佳效果。
⑦ 功能圖法也是很好的測試用例設計方法,我們可以通過不同時期條件的有效性設計不同的測試數據。
⑧ 對于業務流清晰的系統,可以利用場景法貫穿整個測試案例過程,在案例中綜合使用各種測試方法。
總結
以上是生活随笔為你收集整理的黑盒测试的测试方法及其案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php获取网络文件的几种方式,PHP如何
- 下一篇: Samba使用大全(转