白盒测试小结
------------对判定的测试---------------
语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和修正的判定/条件覆盖
1、语句覆盖:
既保证程序中的每条语句至少执行一次。
特点:
1).只关注语句非判定表达式
2).对隐式分支无效。无法发现内存空间的分配和释放
缺点:无法着重对于判定节点进行测试。
2、 判定覆盖
设计测试用例时应保证程序中每个判定节点的取真和取假分支至少执行一次
缺点:无法测试每个简单判定条件。
3、条件覆盖
设计测试用例时应保证程序中每个复合判定表达式中,每个简单判定条件的取真和取假情况至少执行一次。
缺点:不能够包含对整体判定表达式情况覆盖
4、判定/条件覆盖
测试用例的设计应满足判定节点的取真和取假分支至少执行一次,且每个简单判定条件的取真和取假情况也应至少执行一次。
5、条件组合覆盖
测试用例的设计应该满足每个判定节点中,所有简单判定条件的所有可能的取值组合情况应至少执行一次。
6、修正的判定/条件覆盖
在满足判定/条件覆盖的基础上,每个简单判定条件都应独立影响到整个判定表达式的取值。
-------------对路径的测试---------------------
1.基本原理
将全路径集合看做一个向量空间,并将从全路径集合中抽取的一组线性无关的独立路径看做一组向量基,基于向量空间和向量基的理论可知,
其他非独立路径均可由这独立路径的某种组合方式遍历,因此,只需对这组独立路径进行测试。该法也称为基路径测试。
2.独立路径的抽取原则
1).任意两条路径线性无关
2).所有独立路径的并是整个向量空间
3.独立路径的抽取方法
A.确定主路径
1).首先选择判定节点最多的路径(最基础的、最重要的)
2).判定表达式尽可能复杂的
3).高的执行概率
4).尽可能多的语句
B.根据主路径抽取其他独立路径
基于基础路径,依次在该路径的每个判定节点处执行一个新的分支,构建新的独立路径,注:独立路径数=环复杂度
4.环复杂度的计算方式
1).直接观察法
num=内封闭区域数+外区域
2).公式计算
num=e-n+1 (e:边数,n:顶点数,前提是该程序图必须是强连通图和不包含孤立节点)
3).判定节点法
num=p+1 (p:判定节点的个数)
p:当某个节点分支为2,就为了一个判定节点 ;若某个节点分支为m(m>2),则判定节点的个数为m-1
5.对路径测试的基本步骤
1).画程序图 2).确定独立路径数 3).设计对路径测试的用例