为什么要进行白盒测试

如果所有软件错误的根源都可以追溯到某个唯一原因,那么问题就简单了。然而事实上一个bug常常是由多个因素共同导致的,如下图所示。

clip_image002

假设此时开发工作已经结束,程序送交到测试组,没有人知道代码中有一个潜在的被0除的错误。测试组采用测试用例按照如下由蓝色和绿色标记的路径进行测试,显然测试工作似乎非常完善,测试用例覆盖了所有执行语句,没有被0除的错误发生。

clip_image004

但是,当客户在接到该产品并使用的过程中,执行了如下红色标记所示的路径时,错误发生了

clip_image006

从本例可以看到,如果不对程序内部的逻辑结构做分析,则设计的测试用例可能无法发现内部潜在的错误。

posted @ 2016-08-30 14:49  ouhy  阅读(626)  评论(0编辑  收藏  举报