【软考软件评测师】案例专题——白盒测试
案例专题——白盒测试
一. 考试题型分析
历年下午案例试题一都是考察白盒测试,具体的考察形式也已经固定就是给出一段C语言的代码,而后问题往往是:
问题1:给出C程序满足100%某覆盖层级所需的逻辑条件
问题2:划出上述程序的控制流出,并计算机控制流图的环路复杂度V(G)
问题3:给出问题二中控制流图的线性无关路径
二. 重点知识点
1)各层级覆盖含义(尤其是判定覆盖)
2)控制流图画法,环路复杂度求法
3)求线性无关路径
三.各层级覆盖
1)语句测试
测试条件:每个可执行语句
测试覆盖项:每个可执行语句
2)分支测试
测试条件:每个分支,控制流图的边
测试覆盖项:每个分支
3)判定测试
测试条件:每个判定语句
测试覆盖项:每个判定语句的每个结果值
4)分支条件测试
测试条件:每个判定语句
测试覆盖项:每个判定语句中的所有判定条件的取值
5)分支条件组合测试
测试条件:每个判定语句
测试覆盖项:每个判定中所有判定条件的布尔值的每个唯一可行组合
6)修正条件判定测试
测试条件:每个判定语句
测试覆盖项:单个布尔条件可以独立影响判定结果的判定条件,其布尔值的每个唯一判定组合
四. 控制流图和环路复杂度
一组顺序结构可以映射为一个单一的结点;
在选择或者多分枝结构中分支的汇集处,即使没有执行语句也用户添加一个汇聚结点
复合条件表达式:需要改变为一系列只有单个条件的嵌套的判断。
1)圈复杂度计算公式
V(G)=e-n+2=P+1
P其实是条件结点个数而非判定结点个数;
2)线性无关路径
是指包含一组以前没有处理的语句或条件的一条路径;
从流程图来看,一条线性无关路径至少包含有一条在其他线性无关路径中从未有过的边的路径
线性无关路径的序列不唯一
线性无关路径的条数:V(G)