語句覆蓋
要求設計足夠多的測試用例,使得程序中每條語句至少被執行一次。是白盒測試所有方法中覆蓋性最弱的。
判定覆蓋
被測程序中如果包含判定,通常為if語句,則需要測試用例將所有if的真假值都覆蓋到。
條件覆蓋
條件覆蓋關注的也是if語句,顧名思義,條件覆蓋要求測試用例針對判定中的每個條件的真假都覆蓋到。
判定條件覆蓋
是判定覆蓋與條件覆蓋的迭代,即被測對象的所有判定及條件的真假值至少被覆蓋一次。
路徑覆蓋
以上四種方法都無法做到100%路徑覆蓋,都存在漏測的風險。路徑覆蓋就是期望被測對象的所有路徑都能驗證到,對於簡單的代碼而言,實現100%的路徑覆蓋是可能的。但如果判定較多和較多循環,覆蓋所有路徑幾乎是不可能的或投入成本很高。有必要把覆蓋路徑數量壓縮到一定限度內。