你会找出这组路径, 来当作最小需要测试的集合, 然后对它建立其相对应的测试个案
path1: 01-02-03-05-06-07-08-09-10-11
test case 1:
push (s, 3)
path2: 01-02-03-04-10-11
test case 2:
push (s, 3) (repeat 10 times, 如果 stack 大小是10 的话)
push (s, 3)
(当然你可以只用test case 2, 因为它涵盖了 test case 1 的状况)
一般人通常不会先分析执行路径, 再找测试个案. 大多是根据一些准则, 找出测试个案就开始测试了. 所以一般单元测试是用黑箱测试方式在进行, 而非白箱测试.
那为何大家会有错觉单元测试 = 白箱测试呢?
那 是因为在进行白箱测试时, 对于一个大的系统要找出可执行路径, 会是一件很复杂的事情. 但是对于每个单元时, 这件事情变得比较容易, 比较有可能不藉由工具的辅助, 就能自己进行. 也就是说在单元测试时, 比较容易进行白箱测试. 可是不知怎么传的, 很多人就把这两个视为同义.