四、白盒覆盖
上面所说的测试数据都是针对程序的功能来设计的,就是所谓的黑盒测试,另外,单元测试还需要从另一个角度来设计测试数据,即针对程序的逻辑结构来设计
测试用例,就是所谓的白盒测试。在老纳看来,如果黑盒测试是足够充分的,那么白盒测试就没有必要,可惜“足够充分”只是一种理想状态,例如:真的是所有功
能点都测试了吗?程序的功能点是人为的定义,常常是不全面的;各个输入数据之间,有些组合可能会产生问题,怎样保证这些组合都经过了测试?难于衡量测试的
完整性是黑盒测试的主要缺陷,而白盒测试恰恰具有易于衡量测试完整性的优点,两者之间具有极好的互补性,例如:完成功能测试后统计语句覆盖率,如果语句覆
盖未完成,很可能是未覆盖的语句所对应的功能点未测试。