黑盒測試
軟體測試依賴於各種型別的技術。它們可能需要也可能不需要軟體內部邏輯和編碼的知識。黑盒測試是指將重點放在驗證軟體在輸入資料集後生成的輸出上的測試。
什麼是黑盒測試?
黑盒測試是一種測試型別,其中測試人員不知道軟體的內部工作原理,主要關注驗證其功能是否符合使用者需求。
黑盒測試的不同型別
黑盒測試的不同型別如下所示:
功能測試
這是一種測試型別,用於驗證每個軟體功能是否按預期工作。它不依賴於開發軟體的程式碼。傳遞一組輸入並比較生成的輸出以驗證功能。它可以手動或透過自動化進行。
迴歸測試
這是一種測試型別,用於驗證任何程式碼更改是否未在軟體中引入新的錯誤。
閱讀更多: 迴歸測試
非功能測試
這是一種測試型別,用於驗證軟體的非功能性需求是否按預期工作。它測試它是否足夠可用、可擴充套件、安全、健壯、響應迅速和穩定,可以交付給客戶。
黑盒測試的優點
黑盒測試的優點如下所示:
- 測試人員不需要程式設計和技術技能即可開始進行黑盒測試。
- 在大型系統中採用黑盒測試非常有效。
- 此處進行的每個測試都從客戶的角度進行。
- 測試很容易在軟體中複製。
- 它有助於在進行黑盒測試時檢測模糊和不正確的需求。
黑盒測試的缺點
黑盒測試的缺點如下所示:
- 在執行黑盒測試時,可能會重複執行類似的測試。
- 無法使用不完整的需求建立測試用例。
- 在各個測試階段使用多組輸入資料執行黑盒測試並不容易。
- 無法檢測到缺陷的根本原因。
- 軟體的中間階段未經測試。
- 使用大量資料執行黑盒測試非常耗時。
黑盒測試和白盒測試的區別
| 序號 | 黑盒測試 | 白盒測試 |
|---|---|---|
| 1 | 測試人員不知道軟體的內部工作原理。 | 測試人員知道軟體的內部工作原理。 |
| 2 | 它僅處理輸入到軟體的資料以及從中生成的輸出。 | 它處理獨立的程式碼片段、演算法、方法、函式等。 |
| 3 | 它僅驗證軟體功能以及它們是否按使用者需求工作。 | 它驗證軟體的內部工作原理。 |
| 4 | 它不需要測試人員的技術技能和程式設計知識。 | 它需要測試人員的技術技能和程式設計知識。 |
| 5 | 它使用等價類劃分、邊界值分析、錯誤猜測等方法。 | 它使用語句覆蓋、邊界值分析、資料流、控制流等方法。 |
| 6 | 它主要關注軟體的功能外圍。 | 它主要關注軟體的單元、整合和系統級測試。 |
什麼是灰盒測試?
灰盒測試是黑盒測試和白盒測試的融合。在這種技術中,測試人員在某種程度上瞭解軟體的內部結構。他們使用程式碼中使用的演算法和邏輯來建立測試用例。它主要檢測上下文驅動的錯誤。
因此,灰盒測試利用了黑盒和白盒測試技術的優點。它接受來自開發人員和測試人員的輸入,有助於提高軟體的整體質量。
如何執行黑盒測試?
黑盒測試可以透過以下幾種方式完成:
語法驅動測試
它適用於可以用某種語言進行語法描述的軟體。
等價類劃分
觀察到多個輸入在饋送到軟體時會產生類似的結果。在這種情況下,無需提供所有類似的輸入,而是將產生相同結果的一系列資料組合在一起,這樣,該組中只需一個數據就足以測試軟體。因此,輸入資料被分成不同的等價類,然後進行驗證。
例如,一個應用程式只接受正數。輸入資料可以分為有效和無效兩個部分。有效範圍為0到100的輸入資料的示例為50,無效範圍內的輸入資料為任何負數,例如-2。
邊界值分析
可以看出,範圍內的邊界值發現錯誤的機率更高。建立用於驗證邊界值的測試用例使它們非常有效,並增加了檢測軟體中錯誤的機率。
例如,一個應用程式接受1到5歲兒童的年齡。測試資料應包括無效資料0和5.1,以及有效資料3。
因果圖
這用於建立軟體生成的輸入和輸出之間的關係。輸入也稱為原因,而效果是饋送這些輸入所產生的輸出。原因和結果可以轉換為布林圖。從因果圖建立測試用例的步驟如下:
- 考慮所有被識別為輸入的原因和被識別為輸出的效果。
- 根據步驟1建立因果圖。
- 將圖形轉換為判定表。
- 將判定錶轉換為測試用例。
基於需求的測試
這是為了驗證為軟體指定的規格。
相容性測試
這不僅是為了驗證軟體,還為了驗證執行軟體所需的配置和基礎設施。如果基礎設施有任何修改,軟體應繼續按預期工作。例如,如果軟體的韌體更新,則其功能不應該受到任何影響。
不同的黑盒測試工具
下面列出了不同的黑盒測試工具:
使用黑盒測試檢測哪些錯誤?
使用黑盒測試可以檢測以下錯誤:
- 它識別不正確、缺少的功能和GUI錯誤。
- 它檢測資料庫中的錯誤。
- 它識別軟體中的非功能性錯誤。
黑盒測試的特點
黑盒測試的特點如下:
- 它由不瞭解軟體內部結構的測試人員執行。因此,他們對測試採取了一種公正的態度。
- 它是根據軟體需求和從終端使用者的角度進行的。
- 它主要集中在軟體的外部特徵上,而不是其中間步驟。
- 它完全藉助需求執行,因此可以確保最大程度的測試覆蓋率。
- 它包括功能性、非功能性、迴歸和其他測試技術。
- 這些測試用例可以轉換為自動化,從而減少執行時間。
- 它不需要測試人員具備程式設計知識。
結論
這總結了我們關於軟體黑盒測試教程的全面概述。我們從描述什麼是黑盒測試、黑盒測試的不同型別、黑盒測試的優缺點、黑盒測試和白盒測試的區別、什麼是灰盒測試、如何執行黑盒測試、不同的黑盒測試工具、使用黑盒測試檢測哪些錯誤以及黑盒測試的特點開始。
這讓你對軟體黑盒測試有了深入的瞭解。明智的做法是不斷練習你學到的知識,並探索與軟體測試相關的其他知識,以加深你的理解並拓寬你的視野。