文章目录
白盒测试–数据流测试
基础定义
- 数据流测试主要用于优化代码,早期的数据流分析常常集中于定义/引用异常的缺陷。
- 变量被定义,但从来没有使用(未使用)
- 所使用的变量没有被定义(未定义)
- 变量在使用之前被定义了两次(重复定义)
- 数据流测试按照程序中的变量定义和使用的位置来选择程序的测试路径。
- 数据流测试关注
- 变量接收值的点和使用这些值的点。
- 一种简单的数据流测试策略
- 要求覆盖每个变量定义到变量使用路径一次。
- 定义1:定义节点
- 节点n∈G(P)是变量v ∈V的定义节点,记做DEF(v,n),当且仅当变量的值由对应节点n的语句片断处定义。
- 定义节点语句
- 输入语句
- 赋值语句
- 循环语句和过程调用
- 定义2: 使用节点
- 节点n∈G(P)是变量v ∈V的使用节点,记做USE(v,n),当且仅当变量v的值在对应节点n的语句片断处使用。
- 使用节点语句
- 输出语句
- 赋值语句
- 条件语句
- 循环控制语句
- 过程调用
- 定义3: 谓词使用、计算使用
- 使用节点USE(v,n)是一个谓词使