黑盒測試
文章目錄
1.定義
黑盒測試又稱爲功能測試,它是通過測試來檢驗程序的每個功能是否能正常使用。在測試中,將程序看成一個不能打開的黑盒子,在完全不考慮內部結構的情況下,在 程序接口 進行測試 ,檢查程序是否能適當的接受輸入數據從而產生正確的輸出信息。黑盒測試主要針對 功能測試 和 軟件界面測試 。
2.作用
黑盒測試方法着重測試軟件的功能需求,是在程序的接口上進行測試,主要發現以下錯誤:
2.1.是否有功能錯誤,是否有功能遺漏。
2.2.是否能正確的接受輸入數據達到正確的輸出信息。
2.3.是否有數據結構錯誤或外部信息訪問錯誤。
3.測試方法
3.1.等價類劃分法
3.1.1 定義
將程序的輸入域劃分爲若干個等價部分,然後從每個部分中抽取少數具有代表性的數據作爲測試用例,就可以用少量具有代表性的測試數據來取得比較好的測試結果。等價類劃分可分爲兩種不同的情況:有效等價類和無效等價類
3.1.2步驟
1.分析需求-確定數據類型–>
2.使用規則劃分有效等價類和無效等價類–>
3.設計測試用例,覆蓋有效等價類–>
注意:一條用例儘可能覆蓋奪得有效等價類
4.設計測試用例,覆蓋無效等價類–>
注意:一條用例只能覆蓋一個無效等價類
3.1.3 例子
3.2.邊界值分析法
3.2.1定義
邊界值分析法是通過選擇等價類邊界的測試用例。邊界值分析不僅重視輸入條件的邊界,還要重視輸出數據的邊界。大量的錯誤是發生在輸入或者輸出的邊界上,而不是發生在輸入輸出內部,因此針對各種邊界設計測試用例能更容易找出更多的錯誤。
3.2.2步驟
1.分析需求-確定數據類型–>
2.使用規則劃分有效等價類和無效等價類–>
3.確認上點、離點、內點(即各個邊界值)–>
4.設計測試用例,覆蓋有效等價類–>
注意:一條用例儘可能覆蓋奪得有效等價類
5.設計測試用例,覆蓋無效等價類–>
注意:一條用例只能覆蓋一個無效等價類
3.2.3例子
(同上一個等價類劃分例子–固定電話號碼案例)
3.3.判定表/因果圖法
3.3.1定義
當輸入條件與條件之間存在關聯關係,不同的輸入條件組合會出現不同的輸出結果,則需要考慮用組合情況來設計用例。
3.3.2步驟
3.4.正交實驗法
3.4.1定義
就是使用已經造好了的正交表格來安排試驗並進行數據分析的一種方法,目的是用最少的測試用例達到最高的測試覆蓋率
3.4.2步驟
3.4.3例子
分析得出–>4因子 3水平 -->轉化爲測試用例
3.5.場景法/狀態遷移圖
3.5.1定義
軟件幾乎都是使用事件觸發控制流程,事件觸發就構成了場景,同一事件觸發的順序和出現的結果就形成事件流。
可以通過事件流來設計測試用例,使得更容易理解和執行
3.5.2步驟
3.6.錯誤推測法
3.6.1定義
錯誤推測法是基於經驗和直覺推測程序中可能存在的錯誤,從而設計更具有針對性的測試用例。
一般來說是基於其他測試方法之上輔助使用,單獨出現並不常見。
4.優缺點
4.1黑盒測試的優點:
(1)適用於功能測試、可用性測試及可接受性測試;
(2)對照項目說明書測試程序功能;
(3)可測試長的、複雜的程序的工作邏輯,易被理解
4.2黑盒測試的缺點:
(1)不可能進行完全的、毫無遺漏的輸入測試
(2)對某些軟件bug或人爲設置的障礙,黑盒測試無法檢測出來
(3)正是因爲黑盒測試依賴於軟件規格說明書,其缺點是在無法保證規格說明書完全正確的情況下,黑盒測試對此無能爲力(比如規格說明書規定了多餘的功能或遺漏了某些重要的功能)
5.小結
黑盒測試方法的選擇:
功能上有輸入,但是輸入無組合無條件—等價類劃分法
功能上有輸入,但是輸入有邊界有範圍—邊界值分析法
功能上有多個輸入與輸入,且輸入與輸入,輸入與輸出有依賴關係—因果圖/判定表法
功能上需要參數配置,且之間需要互相結合—正交實驗法
多個功能的組合邏輯測試—場景法/狀態遷移法
最後採用錯誤推測法追加測試用例