軟體測試的盒子測試方法包括黑盒測試和白盒測試。在這裏討論白盒測試,也稱為玻璃盒測試,結構測試,透明盒測試,開箱測試和透明盒測試。它測試軟體的內部編碼和基礎設施,重點是根據預期和期望的輸出檢查預定義的輸入。它基於應用程式的內部工作方式,並圍繞內部結構測試。在這種類型的測試中,編程測試用例需要編程技巧。白盒測試的主要目標是通過軟體關注輸入和輸出流,並加強軟體的安全性。
由於系統的內部透視,使用術語“白盒子”。透明框或白框或透明框名稱表示能夠透過軟體的外殼進入其內部工作。
白盒測試的測試用例源自軟體開發生命週期的設計階段。數據流測試,控制流測試,路徑測試,分支測試,聲明和決策覆蓋所有這些技術使用白盒測試作為創建無錯誤軟體的指南。
白盒測試遵循一些工作步驟,使測試易於管理,並且易於理解下一個要完成的任務。執行白盒測試有一些基本步驟。
白盒測試的通用步驟
- 設計所有測試場景,測試用例並根據高優先順序編號對其進行優先順序排序。
- 此步驟涉及在運行時研究代碼以檢查資源利用率,而不是訪問代碼區域,各種方法和操作所花費的時間等。
- 在此步驟中,將對內部子例程進行測試。內部子例程(如非公共方法,介面)能夠適當地處理所有類型的數據。
- 此步驟側重於測試控制語句(如迴圈和條件語句),以檢查不同數據輸入的效率和準確性。
- 在最後一步中,白盒測試包括安全測試,通過查看代碼如何處理安全性來檢查所有可能的安全漏洞。
白盒測試的原因
- 它識別內部安全漏洞。
- 檢查代碼中的輸入方式。
- 檢查條件迴圈的功能。
- 在單個級別測試函數,對象和語句。
白盒測試的優點
- 白盒測試可以優化代碼,從而可以識別隱藏的錯誤。
- 白盒測試的測試用例可以輕鬆實現自動化。
- 此測試比其他測試方法更全面,因為它涵蓋了所有代碼路徑。
- 即使沒有GUI,它也可以在SDLC階段啟動。
白盒測試的缺點
- 在大規模編程應用程式中,白盒測試耗費太多時間。
- 白盒測試非常昂貴且複雜。
- 它可能導致生產錯誤,因為開發人員沒有詳細說明。
- 白盒測試需要具備編程語言和實現的詳細知識和理解的專業程式員。
白盒測試中使用的技術
測試技術 | 描述 |
---|---|
數據流測試 | 數據流測試是一組測試策略,用於檢查程式的控制流程,以便根據事件的順序探索變數的順序。 |
控制流程測試 | 控制流測試通過控制結構確定語句或程式指令的執行順序。程式的控制結構用於開發程式的測試用例。在該技術中,測試者選擇大程式的特定部分來設置測試路徑。測試用例由程式的控制圖表示。 |
分支覆蓋測試 | 分支覆蓋技術用於覆蓋控制流圖的所有分支。它至少涵蓋決策點的每個條件的所有可能結果(真實和錯誤)。 |
語句覆蓋測試 | 語句覆蓋技術用於設計白盒測試用例。該技術涉及至少執行一次源代碼的所有語句。它用於計算源代碼中執行語句的總數,在源代碼中存在的總語句中。 |
此技術報告布爾運算式的真假結果。每當語句中有兩個或多個結果的可能性時,如while語句,if語句和case語句(控制流語句),這些都視為決策點,因為有兩個結果為true 或false 。 |