变量的3种缺陷定义:
变量在使用前从未定义过(在编译时,会有提示,不需人工查找)
变量被定义,但从未使用过
变量在使用前,被多次定义
对变量的测试相关概念
1.定义节点:
若被测变量v的值在某条包含该变量的语句n处发生改变,则称该语句是关于变量v的定义节点,记做DEF(v,n)
输入语句、赋值语句(对该变量赋值)、循环控制语句(循环变量)是定义节点
2.使用节点:
若被测变量v的值在某条包含该变量的语句n处被使用,则称该语句是关于变量v的使用节点,记做USE(v,n)
输出语句、赋值语句(变量v对其他变量的赋值)、条件语句、循环控制语句都是使用节点
3.定义/使用节点对
由被测变量v的一对定义节点和使用节点构成的一个二元组称为该变量的定义/使用节点对
4.定义/使用路径
从被测变量v的一个定义节点开始执行,到该变量的某个使用节点结束的一条路径称为该变量的一条定义/使用路径,记做du-path
5.定义/清除路径
若被测变量v的一条定义/使用路径中不包含该变量的其他定义节点,则该路径称为定义清除路径,记做dc-path
对变量的测试总结
大多数情况下不需要逐一分析程序中的所有变量,一般根据重要变量进行数据流分析
数据流分析主要关注单个变量,特别关注变量接受赋值和使用的点,该法主要关注变量从定义到使用过程的执行路径是否可靠
关于白盒测试方法的总结: