1. 程式人生 > >4.3白盒測試技術

4.3白盒測試技術

白盒測試是基於測試物件的內部結構。白盒測試技術可以應用在所有測試級別,但本節討論的兩種與程式碼相關的技術最常用在元件測試級別上。有些更高階的技術會用於安全關鍵、任務關鍵,或高完整性環境以實現更徹底的覆蓋,但這裡不會討論。有關此類技術的更多資訊,請參見ISTQB高階技術測試分析師大綱。 4.3.1 語句測試和覆蓋 語句測試使用程式碼中的可執行語句。覆蓋率以測試執行的語句數除以測試物件中可執行語句的總數來衡量,通常以百分比表示。 4.3.2 判定測試與覆蓋 判定測試使用程式碼中的判定,並測試基於判定結果執行的程式碼。要做到這一點,測試用例遵循從判定點觸發的控制流(例如:對於IF語句,一個用於真的結果,一個用於假的結果;對於一個CASE語句,所有可能的結果都需要測試用例,包括預設結果)。 覆蓋率是通過測試執行的判定結果的數量除以測試物件中判定結果的總數來測量,通常以百分比表示。 4.3.3 語句與判定測試的價值 當實現100%的語句覆蓋時,它確保程式碼中的所有可執行語句至少已測試過一次,但無法保證所有判定邏輯都已測試過。在本大綱中討論的兩種白盒技術中,語句測試提供的覆蓋率通常小於判定測試。 當達到100%的判定覆蓋率時,便會執行所有的判定結果,包括測試真的結果和假的結果,即使沒有明確的假的語句(例如:沒有ELSE的IF語句)。語句覆蓋有助於發現程式碼中其他測試沒有執行到的缺陷。判定覆蓋有助於發現程式碼中的缺陷,在這些缺陷中,其他測試沒有同時覆蓋判定為真和假的情況。 達到100%的判定覆蓋可以保證達到100%的語句覆蓋(反之則不然)。