黑盒測試:
概念:也稱功能測試,它是通過測試來檢測每一個功能是否都能正常使用。
在測試中,把程式看作一個不能打開的黑盒子。在全然不考慮程式内部結構情況下,在程式接口進行測試。它僅僅檢查程式功能是否依照需求規格說明書的規定正常使用,程式能否适當地接收輸入資料而産生正确的輸出資訊。黑盒測試着眼于程式外部結構,不考慮内部邏輯結構,主要針對軟體界面和軟體功能進行測試。
分類:黑盒測試有非常多詳細方法。這裡僅僅選取兩種最經常使用的——等價類劃分法和邊界值分析法。
等價類劃分法:
定義:分為有效等價類和無效等價類。
有效等價類是合理的輸入資料,可檢查程式是否實作了規格說明中所規定的功能和性能。無效等價類與有效等價類的意義相反。
例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,如需轉載請自行聯系原作者