结构测试(白盒测试) Structure Test
结构性测试的方法:路径测试、数据流测试
结构性测试力求提高测试覆盖率。
结构性测试主要用于软件验证:
are we creating a system correctly?
功能性测试是一种确认技术;
are we creating a correct system?
黑白盒测试的比较
黑盒:根据程序外部特征进行测试。 (按规格说明书设计测试用例)
白盒:根据程序内部逻辑结构进行测试
从完全不同,完全对立的的起点出发。
单元测试一般采用白盒测试。
集成或系统测试大都采用黑盒测试。
为什么需要白盒测试?
1、如果程序外部特性本身有问题或者规格说明书的规定有误,黑盒测试是发现不了的。
2、即使黑盒测试软件输入输出都是正确的,并不能说明软件就是正确的。
Three Part
路径测试、数据流测试、测试的效率
首先需要知道一个概念:程序图
程序图是一种有向图,图中的节点表示语句片段,边表示控制流(可以立即连续执行的两个节点)。
路径测试
一个概念:DD-路径图(决策到决策)
程序流图可以有多种,所有程序流图都可以简化为唯一的DD-路径图。