設計測試用例方法之白盒測試法(瞭解)
白盒測試技術
白盒測試(結構測試或者邏輯驅動測試)
定義:白盒測試也叫透明盒測試,檢查程式內部結構及路徑一是否符合規格說明,二是否符合其程式碼規範。
白盒測試常見方法:
- 語句覆蓋;
- 判斷覆蓋(也稱“分支覆蓋”);
- 條件覆蓋;
- 判斷、條件覆蓋;
- 條件組合覆蓋;
- 路徑覆蓋 (分為:z路徑和獨立路徑)
詳解白盒測試方法:
-
- 語句覆蓋:指設計若干個測試用例,使得程式執行時,每個可執行語句至少被執行一次
-
- 判斷覆蓋(分支覆蓋):指設計若干個測試用例,使得程式執行時,每個判斷條件的真假分支至少被執行一次
-
- 條件覆蓋:指設計若干個測試用例,使得程式執行時,每個判斷條件中的每個判斷式的真、假值至被執行一次
-
- 判斷、條件覆蓋:指設計若干個測試用例,使得程式執行時,每個判斷條件中真、假值分支至少被執行一次,且每個判斷條件的內部判斷式的真、假值至少被執行一次。判斷、條件覆蓋:
-
- 條件組合覆蓋:指設計若干個測試用例,使得程式執行時,每個判斷條件的內部判斷式的各種真假組合都至少被執行一次;是邏輯覆蓋測試中“覆蓋能力”最強的。
-
- 路徑覆蓋:旨在保證程式中每一個特定的路徑方案都能正常執行。
常見的路徑覆蓋方法:2種
- 獨立路徑覆蓋
定義:即覆蓋所有的獨立路徑的測試,所謂獨立路徑應至少包含一條在其它路徑中從未有過的邊 - Z路徑覆蓋
定義:是一種將實際專案中複雜的程式減少其迴圈次數的路徑覆蓋方法,即:不考慮迴圈體實際需要執行多少次,只考慮透過迴圈體0次和1次這兩種情況
Z路徑覆蓋:
0次迴圈:直接跳過迴圈體,從迴圈體入口直接到出口
1次迴圈:透過一次迴圈體即可
白盒測試的優缺點(⭐)
- 白盒測試方法的優點:(⭐)
1.深入程式內部,測試粒度較細。
2.是測試用例設計方法的組成部分,也是黑盒測試方法的有力補充。
3.為自動化測試與效能測試奠定基礎。 - 白盒測試方法的缺點:(⭐)
1.過分關注程式碼本身,容易偏離SRS實際需求
2.對相應的程式語言要求較高,人力成本較大
針對用例設計方法小結:(⭐)
黑盒測試+白盒測試+基於經驗的測試