通常的觀點是:白盒測試要分析代碼,更有技術含量。其實這個觀點是錯誤的。要知道可以這么說沒有黑盒測試的話,白盒測試是沒有辦法進行的,或者這么說即便做了世界上最完美的白盒測試,沒有做黑盒測試,這個測試依然是不完全的。白盒測試是對過程的測試,黑盒測試是對結果的測試。有了好的過程并不一定會有好的結果。(如果我和我前任女朋友,大家都很好的呵護對方,可是最后還是分手了)所以說兩者缺一不可。因為測試說到底是找出這個程序或系統中的錯誤,所謂錯誤有兩種:就是錯誤的,“1+1=2”但是出來是3。另一種是不符合客戶的要求。這兩種都需要通過黑盒測試來最后確認,因為你做白盒測試時你確認了代碼是正確的,但是你沒有辦法確定這段正確的代碼的組合最后產出的結果是不是客戶要求的。如果不是你的代碼正確么?所以我認為(我看到現在測試書籍也都是這么說的)白盒測試作為黑盒測試的輔助測試,因為你首先要用黑盒測試來驗證結果是否正確,或者說目標是否正確。如果結果正,確然后再用白盒測試來驗證,這個正確的結果是不是由于正確的過程產生的。如果結果不正確,那么用白盒測試來找到過程中錯誤的地方。它們的關系在我看來就像恩愛的夫妻一樣不可分割(不好意思剛剛失戀,比較容易想到這個做比喻)。只有先做好黑盒測試,然后用白盒測試驗證,這個測試才能說做的完整了。
所以請大家以后不要再看不起做黑盒測試的人了。黑盒測試也不是沒有前途的,而是有前途的。不過如果真的想再測試這個行當做深,就不能過于關注某一點,要適當的看得廣,看的深,因此想成為測試專家就真的不能只懂黑盒測試。建議做黑盒測試的人以這個為切入點來做好測試。
文章來源于領測軟件測試網 http://www.kjueaiud.com/