天天看點

軟體測試基本方法(三)之黑盒測試

黑盒測試:

概念:也稱功能測試,它是通過測試來檢測每一個功能是否都能正常使用。

在測試中,把程式看作一個不能打開的黑盒子。在全然不考慮程式内部結構情況下,在程式接口進行測試。它僅僅檢查程式功能是否依照需求規格說明書的規定正常使用,程式能否适當地接收輸入資料而産生正确的輸出資訊。黑盒測試着眼于程式外部結構,不考慮内部邏輯結構,主要針對軟體界面和軟體功能進行測試。

分類:黑盒測試有非常多詳細方法。這裡僅僅選取兩種最經常使用的——等價類劃分法和邊界值分析法。

等價類劃分法:

定義:分為有效等價類和無效等價類。

有效等價類是合理的輸入資料,可檢查程式是否實作了規格說明中所規定的功能和性能。無效等價類與有效等價類的意義相反。

例1:

軟體測試基本方法(三)之黑盒測試

例2:

問題:針對國内18位身份證号碼驗證,通過等價類劃分法設計測試用例。

先了解一下18位身份證,拿370686199211204618來說:

37——所在省

06——所在地級市

86——所在縣級市

19921120——出生年月日

461——順序碼。表示你在該地區與你同年同月同日生的人群中的序号,奇數表示男,偶數表示女

8——對前17進行權重求和并mod11。假設結果為10。用‘X’表示

軟體測試基本方法(三)之黑盒測試
軟體測試基本方法(三)之黑盒測試

總之依據輸入要求,先明确合理等價類是什麼,然後再找出不合理等價類。以前有位scrum master說這是最重要最主要的測試方法,但某些測試人員卻不遵守。

邊界值分析法:

定義:确定邊界情況(輸入或輸出等價類的邊界),選取正好等于、剛剛大于或剛剛小于邊界值作為測試資料。

例3:

如上面例1,假設用邊界值法,會有例如以下測試用例:

200001(邊界有效最小值)、204512(邊界有效最大值)

199901、199912、204601、204612(邊界無效值)

邊界值分析法常被看做是等價類劃分法的一種補充。二者結合起來使用更有效。

例4:

對于一個排序程式,設計它的邊界值。

其邊界條件有:

排序序列為空

排序序列僅有一個資料

排序序列為最長序列

排序序列已經按要求排好序

排序序列的順序與要求的順序恰好相反

排序序列中的所有資料所有相等

例5:

一個文本輸入的測試過程。字元編碼採用ASCII碼。假設輸入0~9。那麼這個輸入的邊界字元為/(斜杠)和:(冒号)。

總結:

除了以上兩種。還有判定表法、因果圖法等。事實上全部的白盒和黑盒,終于都要生成測試用例,關于測試用例,例如以下:

測試用例:為某個特殊目标而編制的一組測試輸入、運作條件以及預期結果,以便測試某個程式路徑或核實是否滿足某個特定需求。

一個測試用例用于證明該需求已經滿足。通常稱作正面測試用例。還有一個測試用例反映某個意外的條件,用于論證僅僅有在所需條件下才可以滿足該需求,這個測試用例稱作負面測試用例。

測試用例是軟體測試的核心。

本文轉自mfrbuaa部落格園部落格,原文連結:http://www.cnblogs.com/mfrbuaa/p/5390972.html,如需轉載請自行聯系原作者 

繼續閱讀