说我有三个方法,都非常相似,但不同的输入类型:单元测试应该是黑盒测试还是白盒测试?
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