說我有三個方法,都非常相似,但不同的輸入類型:單元測試應該是黑盒測試還是白盒測試?
void printLargestNumber(int a, int b) { ... }
void printLargestNumber(double a, double b) { ... }
void printLargestNumber(String numberAsString, String numberAsString) { ... }
三者都使用相同的基本邏輯。例如:也許double
版本是唯一一個比較數字的版本,另外兩個版本只是將其輸入轉換爲double
。
我們可以想象幾個不同的單元測試:第一個輸入較大,二是大,兩個輸入爲負,等
我的問題
如果所有這三種方法有全套測試(黑盒子,因爲我們不承擔核心實現是一樣的)
或
應該只在double
版本會被嚴重測試,另外兩個測試會輕微驗證參數轉換(白盒測試,因爲我們知道它們共享相同的實現,並且已經在double
測試中進行了測試)?
Hrm ...這可能是一個愚蠢的http://stackoverflow.com/questions/203075/should-i-use-glass-box-testing-when-it-leads-to-fewer-tests – 2010-12-01 23:05:58