黑盒測試是一種軟體測試方法,它檢查應用程式的功能,而不檢查其內部結構或工作方式。
黑盒測試試圖找出以下類別的錯誤:
1)功能不正確或缺失,
2)介面錯誤,
3)資料結構或外部資料庫訪問錯誤;
4)行為或效能錯誤;(5)初始化和終止錯誤
測試用例通常來自軟體的外部描述,包括規範、需求和設計引數。雖然所使用的測試本質上主要是功能測試,但是也可以使用非功能測試。
典型的黑盒測試設計技術包括:
-等價劃分
-邊值分析
-決策表測試
-全對測試
-因果圖
-錯誤猜測
-狀態轉換測試
-用例測試
-使用者故事測試
-領域分析
-組合技術
邊界值分析
▪更多的錯誤發生在輸入域的邊界,而不是在「中心」
:錯誤隱藏在角落裡和邊界處-
0是乙個正數和負數之間的界限
數字型別的最大和最小值,如int和double
空虛(空字串,空列表,空陣列)的集合型別
集合的第乙個和最後乙個元素就是這個原因
邊界值分析(bva)已經被開發成乙個測試技術。邊界值分析導致使用邊界值的測試用例的選擇。
白盒測試則依據功能的具體實現設計測試用例
如果實現根據輸入選擇不同的演算法,那麼應該根據這些域進行分割槽。
白盒測試在白盒測試中,使用系統的內部透檢視以及程式設計技能來設計測試用例。測試人員選擇輸入來遍歷**並確定適當的輸出。白盒測試可以應用於軟體測試過程的單元、整合和系統級別。通常,它在測試過程的早期執行。
覆蓋率的測試
測試和萊斯特-赫斯特程式蒙**覆蓋率最徹底的白盒方法是覆蓋程式中的每條路徑,
但是因為程式通常包含乙個迴圈,所以路徑的數量非常大。幾乎不可能執行每條路徑,我們只能嘗試確保覆蓋率盡可能高。
乙個例子:乙個程式包含乙個迴圈,需要執行20次。它包括520種不同的執行路徑。假設每條路徑的測試時間為1ms,則完成所有路徑的測試需要2023年。
乙個高**覆蓋率的程式(以百分比衡量)在測試期間執行了更多的源**,這表明與低**覆蓋率的程式相比,它包含未檢測到的軟體錯誤的機率更低。
**覆蓋率基本覆蓋標準函式覆蓋
程式中的每個函式(或子例程)都被呼叫了嗎?
語句覆蓋率
程式中的每個語句都執行了嗎?
決策或分支覆蓋率
是否執行了每個控制結構的每個分支,例如in if和case語句)?例如,給定乙個if語句,是否同時執行了true和false分支?換句話說,程式中的每條邊都執行了嗎;
條件或謂詞覆蓋率,
每個布林子表示式的值都為true和false嗎?
條件/決策覆蓋率
要求同時滿足決策和條件覆蓋率。多個條件覆蓋要求測試每個決策中的所有條件組合。路徑覆蓋:每個分支的每乙個可能的組合都是通過程式的每一條路徑嗎?
分支覆蓋率比語句覆蓋率更強(需要實現更多的測試),路徑覆蓋率比分支覆蓋率更強。▪在工業中,100%的語句覆蓋率是乙個共同的目標,但是由於不可到達的防禦性**(比如「不應該到達這裡」的斷言),即使是100%的語句覆蓋率也很少實現。▪100%的分支覆蓋率是非常理想的,安全關鍵行業規範有更嚴格的標準(例如,mc/dc,修改條件/決策覆蓋率
軟體測試覆蓋率分類之白盒覆蓋率
這次的千鋒福利軟體測試學習教程與覆蓋率有關哦 1 定義 覆蓋率是用來度量測試完整性的乙個手段,同時也是測試技術有效性的乙個度量。2 計算 覆蓋率 至少被執行一次的item數 item的總數 3 特點 1 根據覆蓋率資料,可以檢測我們的測試是否充分 2 分析出測試的弱點在哪方面 3 指導我們設計能夠增...
黑盒測試和白盒測試
任何工程產品 注意是任何工程產品 都可以使用以下兩種方法之一進行測試。黑盒測試 已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。白盒測試 已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。軟體的黑盒測試意味著測試要在軟體的介面...
黑盒測試和白盒測試
黑盒測試 黑盒測試,又被稱為功能測試或資料驅動測試,是把測試物件當作看不見的黑盒,在完全不考慮程式內部結構的情況下,測試人員僅依據程式功能的需求規範考慮確定測試用例和推斷測試結果的正確性。不關注程式的內部結構和內部特性,而是把程式看做是乙個黑盒子對軟體直接進行測試。主要包括等價類劃分法和邊界值分析法...