基于结构的测试用例生成方法
(白盒测试法)
程序图
节点是语句或语句的一部分;边表示语句的控制流程;
1
2
3
串行
1
2
前测试循环
1
2
后测试循环
1
2
If-then
3
1
3
If-then-else
2
4
1
4
Choose-case
2
5
3
基于控制流的测试方法
程序控制流视角:从程序元素和它们执行顺序之间的联系观察程序;
控制流图(Control Flow)用于描述程序控制流;
出发点:程序许多错误发生在程序错误的执行流程中;追踪程序的执行流程有助于发现程序错误;
基于控制流的测试(用例选择)方法
语句覆盖测试
判定覆盖(分支覆盖)测试
条件覆盖测试
条件组合覆盖
判定条件覆盖测试
路径覆盖测试
例:控制流测试的例子
程序:
If ( a>1 and b= 0)
{
x= x/a;
};
If( a=2 or x>1)
{
x=x+1;
};
Return x;
输入(a , b , x),输出X
程序流程图
几个约定
路径约定:a,b,c,d,e(如上图所示)
判断条件约定:
T1:a>1
T2:b=0
T3:a=2
T4:x>1
几组测试用例
用例相关路径 T1 T2 T3 T4
(2,0,4) 3 a——c——e T T T T
(2,0,1) a——c——e T T T F
(1,1,1) 1 a——b——d F F F F
(2,1,1) 2 a——b——e T F T F
(2,1,2) 3 a——b——e T F T T
(3,0,3) 1 a——c——e T T F T
(3,1,1) 1 a——c——d T F F F
(1,1,2) 3 a——c——e F F F T
(1,0,3) 4 a——c——e F T F T
语句覆盖
定义:测试用例覆盖所有可执行语句;
选取下列测试用例达到语句覆盖
(2,0,4) a——c——e
判定(分支)覆盖
定义:测试用例使得程序中每个判断的取真分支和取假分支至少经历一次。
选取下列测试用例达到判定覆盖
(2,0,1) 3 a——c——e
(3,1,1) 1 a——b——d
2-1基于结构的测试用例选择 来自淘豆网www.taodocs.com转载请标明出处.