標籤:
簡單地說,軟體測試可以分為兩大類:黑箱測試與白盒測試。
白盒測試:是通過程式的原始碼進行測試而不使用使用者介面,這種類型的測試需要從代碼句法發現內部代碼在演算法,溢出,路徑,條件等等中
的缺點或者錯誤,進而加以修正。
黑箱測試:又被稱為功能測試、資料驅動測試或基於規格說明的測試,是通過使用整個軟體或某種軟體功能來嚴格地測試, 而並沒有通過檢查
程式的原始碼或者很清楚地瞭解該軟體的原始碼程式具體是怎樣設計的。
其大致原理如所示:
黑箱測試與白盒測試的一些簡單對比,如下表所示,兩者的主要區別顯而易見:
黑箱測試注重於測試軟體的功能需求,主要試圖發現下列幾類錯誤:
1. 功能不正確或遺漏;2. 介面錯誤;3. 輸入和輸出錯誤;4. 資料庫訪問錯誤;5. 效能錯誤;6. 初始化和終止錯誤等。
測試原理:
從理論上講,黑箱測試只有採用窮舉輸入測試,把所有可能的輸入都作為測試情況考慮,才能查出程式中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但可能的輸入進行測試。這樣看來,完全測試是不可能的,所以我們要進行有針對性的測試,通過制定測試案例指導測試的實施,保證軟體測試有組織、按步驟,以及有計劃地進行。黑箱測試行為必須能夠加以量化,才能真正保證軟體品質,而測試案例就是將測試行為具體量化的方法之一。 具體的黑箱測試用例設計方法包括: 1. 等價類別劃分法; 2. 邊界值分析法; 3. 錯誤推測法; 4. 因果圖法; 5. 判定表驅動法; 6. 正交實驗設計法; 7. 功能圖法; 8. 情境法等。 黑箱測試的大致流程: 1. 測試計劃 首先,根據使用者需求報告中關於功能要求和效能指標的規格說明書,定義相應的測試需求報告,即制訂黑箱測試的最高標準,以後所有的測試工作都將圍繞著測試需求來進行,符合測試需求的應用程式即是合格的,反之即是不合格的;同時,還要適當選擇測試內容,合理安排測試人員、測試時間及測試資源等。 2. 測試設計 將測試計劃階段制訂的測試需求分解、細化為若干個可執行檔測試過程,並為每個測試過程選擇適當的測試案例(測試案例選擇的好壞將直接影響到測試結果的有效性)。 3. 測試開發 建立可重複使用的自動化的測試過程。 4. 測試執行 執行測試開發階段建立的自動化的測試過程,並對所發現的缺陷進行跟蹤管理。測試執行一般由單元測試、組合測試、整合測試、系統聯調及迴歸測試等步驟組成,測試人員應本著科學負責的態度,一步一個腳印地進行測試。 5. 測試評估 結合量化的測試覆蓋域及缺陷跟蹤報告,對於應用軟體的品質和Team Dev的工作進度及工作效率進行綜合評價。
黑箱測試的缺陷:
如果外部特性本身設計有問題或規格說明的規定有誤,用黑箱測試方法是發現不了的。
軟體測試 之 黑箱測試 掠影