白盒测试:(结构性测试,逻辑驱动测试)
基于被测程序的源代码,而非基于定义
支持严格定义、数据分析、精确度量
方法:
- 控制流/路径测试
- 数据流测试
- 其他:程序插装、域测试法、符号测试、Z路径覆盖法、程序变异
程序图
有向图
- 结点:语句片段
- 边:控制流
DD-路径
DD-路径是程序图中的一条链,使得:
- 情况1:由一个节点组成,内度=0
- 情况2:由一个节点组成,外度=0
- 情况3:由一个节点组成,内度≥2或外度≥2
- 情况4:由一个节点组成,内度=1并且外度=1
- 情况5:长度≥1的最大链
测试覆盖指标
-
语句覆盖:每个可执行语句至少执行一次
-
分支覆盖(判定覆盖):每个判定至少都获得一次“真”值和“假”值.
-
条件覆盖:每个判定中每个条件的可能值至少满足一次.
-
条件判定覆盖:每个判定中的每个条件的所有可能(真/假)至少出现一次并且每个判定本身的结果(真/假)也至少出现一次.
-
条件组合覆盖:每个判定中条件的各种可能组合都至少出现一次,显然满足条件组合覆盖的测试用例一定满足“(判定)分支覆盖”、“分支条件覆盖”和“条件判定覆盖”.
-
路径覆盖:覆盖程序中所有可能的路径.