- 逻辑覆盖的类型—语句覆盖
连锁选择结构:

优点:设计测试用例简单,可以很直观的从源代码得到测试用例,无须细分每条判定表达式
缺点:仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件和可能到达的隐式逻辑分支是无法预测的。因此语句覆盖对于多分支的逻辑运算时无法全面反映的

- 逻辑覆盖的类型—判定(分支)覆盖
同真同假

交叉取值

优点:
缺点:
- 逻辑覆盖的类型—路径覆盖

- 逻辑覆盖的类型—条件覆盖
同真同假

交叉取值

优点:增加了对符合判定情况的测试,增加了测试路径
缺点:需要足够多的测试用例,但条件覆盖并不能保证分支覆盖。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果

- 逻辑覆盖的类型—条件组合覆盖



- 逻辑覆盖的类型—判定/条件覆盖



- 复杂情况分析——分支结构

- 复杂情况分析——简单循环

3.复杂情况分析——嵌套循环

4.复杂情况分析——串接循环

5.复杂情况分析——不规则循环

(1) 画出程序控制流程图


(2) 计算程序环路复杂性
(3) 确定独立路径集合
(4) 准备测试用例

逻辑覆盖法
基本路径测试法

代码检查法—桌面检查
代码检查法—代码审查

代码检查法—走查
代码检查法—技术评审
代码检查法—总结

静态结构分析法—生成图表
静态结构分析法—静态错误分析
静态结构分析法—总结

程序插桩—方法简介
向源程序中添加一些语句,实现对程序语句的执行、变量的变化等情况进行检查
了解一个程序在某次运行中所有可执行语句被覆盖的情况,或是每个语句的实际执行次数
计算整数X和整数Y的最大公约数程序

设计插桩程序时需要考虑的问题:
程序插桩—断言语句
域测试—方法简介
域测试—输入域结构

域测试—测试点的选择



白盒测试の优缺点
黑盒测试の优缺点
控制流分析—控制流图


控制流分析—程序结构的基本要求
数据流分析—数据流问题