四、白盒覆蓋
上面所說的測試數據都是針對程序的功能來設計的,就是所謂的黑盒測試,另外,單元測試還需要從另一個角度來設計測試數據,即針對程序的邏輯結構來設計
測試用例,就是所謂的白盒測試。在老納看來,如果黑盒測試是足夠充分的,那么白盒測試就沒有必要,可惜“足夠充分”只是一種理想狀態,例如:真的是所有功
能點都測試了嗎?程序的功能點是人為的定義,常常是不全面的;各個輸入數據之間,有些組合可能會產生問題,怎樣保證這些組合都經過了測試?難于衡量測試的
完整性是黑盒測試的主要缺陷,而白盒測試恰恰具有易于衡量測試完整性的優點,兩者之間具有極好的互補性,例如:完成功能測試后統計語句覆蓋率,如果語句覆
蓋未完成,很可能是未覆蓋的語句所對應的功能點未測試。