常用的白盒測試方法是語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋。
1、語句覆蓋
設計若干個測試用例,運行被測程序,使得每一可執行語句至少執行一次。語句覆蓋常常被人指責為“最弱的覆蓋”,它只管覆蓋代碼中的執行語句,卻不考慮各種分支的組合等等。假如只要求達到語句覆蓋,那么換來的確實測試效果不明顯,很難更多地發現代碼中的問題。
2、判定覆蓋
判定覆蓋是設計足夠多的測試用例,使得程序中的每一個判斷至少獲得一次“真”和一次“假”,即使得程序流程圖中的每一個真假分支至少被執行一次。
3、條件覆蓋
選擇足夠的測試用例,使得運行這些測試用例時,判定中每個條件的所有可能結果至少出現一次,但未必能覆蓋全部分支。
4、判定條件覆蓋
設計足夠的測試用例,使得判斷中每個條件的所有可能取值至少執行一次,同時每個判斷的所有可能判斷結果至少執行,即要求各個判斷的所有可能的條件取值組合至少執行一次。
5、條件組合覆蓋
選擇足夠的測試用例,使所有判定中各條件判斷結果的所有組合至少出現一次,滿足這種覆蓋標準成為條件組合覆蓋。