当前位置:
文档之家› 白盒测试路径分析测试基本路径测试
白盒测试路径分析测试基本路径测试
102
基本路径和测试用例(1)
8186
87
88
8990
92
99100
93
94
95
96
9798
❖ 基本路径和测试用例
1. 81-86->87->88->92->93 ->95->9798->102
相应的测试用例: 测试输入 = (68,68,56) 预期结果 = 这是一个等腰三角形!
2. 81-86->87->88->92->93 ->95->96>102
环复杂度
❖ 环复杂度
▪ 闭合区域的数目 = 5 ▪ 二值判定节点个数 + 1
=4+1=5 ▪ 边的数目-节点的数目 +
2 = 16-13+2=5
基本路径
❖ 实用的定义 ▪ 一条路径是基本路径如果: 1. 是一条从起始节点到终止节点的路径. 2. 至少包含一条其它基本路径没有包含的边. (至 少引入一个新处理语句或一个新判断的程序通 路.) 注意:对于循环而言,基本路径应包含不执行循环 和执行一次循环体。
基本路径
❖ 基本路径 1. 1-2-11 2. 1-2-3-4-5-6-10-2-11 3. 1-2-3-4-5-7-10-2-11 4. 1-2-3-8-9-10-2-11 5. 1-2-3-8-10-2-11
SWPU
基本路径测试方法举例
▪ 1.依据程序内部逻辑画出相应的流图
4
R1 7
14
6 R3
相应的测试用例: 测试输入 = (68,60,56) 预期结果 = 这是一个不等边三角形!
102
基本路径和测试用例(2)
81-
86
❖ 基本路径和测试用例
87
3. 81-86->87->88->92->93 ->94->102
88
99100
8990 92
93
相应的测试用例: 测试输入 = (68,68,68) 预期结果= 这是一个等边三角形! 4. 81-86->87->89-90->92->99-100->102
输入数据
预期输出
测试用例1 测试用例2 测试用例3 测试用例4
irecordnum=0 itype=0
irecordnum=1 itype=0
irecordnum=1 itype=1
irecordnum=1 itype=2
x=0 y=0 x=0 y=0 x=10 y=0 x=0 y=20
案例2——三角形问题
❖ 使用基本路径设计测试用例方来自推导三角形问题的测试用例控制流图
8186
87
88
8990
92
99100
93
94
95
96
9798
102
环复杂度
8186
87
88
8990
92
99100
93
94
95
96
9798
❖ 环复杂度 ▪ 闭合区域的数目 = 5 ▪ 二值判定节点个数 + 1 =4+1=5 ▪ 边的数目-节点的数目 + 2 = 15-12+2=5
基本路径测试
❖ 设计步骤
1. 根据模块逻辑构造控制流图(Flow Graph) 2. 计算控制流图的环复杂度 (Cyclomatic Complexity) 3. 列出包含起始节点和终止节点的基本路径 4. 检查一下列出的基本路径数目是否超过控制流图的
环复杂度 5. 设计覆盖这些基本路径的测试用例
环复杂度
❖ 含义
▪ 用V(G)表示 ▪ 用来衡量一个模块判定结构的复杂程度,在数量上
表现为独立的路径条数,是需要测试的基本路径数 目的上限。
环复杂度
❖ 计算公式
1. V(G) = 闭合区域的数目 由节点和边围成的封闭区域
• 这些封闭区域一定是不可再分的 • 包括周边的区域
2. V(G) = 二值判定节点个数 + 1. 3. V(G) = 边的数目-节点的数目 + 2
9 R4
10 R2 12
13
基本路径测试方法举例
▪ 2.计算流图的环形复杂度(McCabe定义的程序复 杂性度量值)
• 计算环路复杂度的三种方法
– 环路复杂度=边数-节点数+2=10-8+2=4 – 环路复杂度=判断节点数+1=3+1=4 – 环路复杂度=区域的数目=4
• 可以计算上图所示流图的环形复杂度为4
94
95
相应的测试用例:
测试输入 = (68,8,60)
96
97-
98
预期结果= 这不是一个三角形!
102
基本路径与环复杂度
8186
1. 81-86->87->88->92->99-100->102
88
99100
87 8990
92
93
2. 81-86->87->88->92->93->95->9798->102
基本路径测试方法举例
▪ 3.确定独立路径组成的基本路径集合
• 程序的环形复杂度 = 程序中独立路径的数量
–路径1: 4→14 –路径2: 4→6→7→14 –路径3: 4→6→9→10→13→4→14 –路径4: 4→6→9→12→13→4→14
▪ 4.设计出可强制执行基本集合中每条路径的测试用例
第3章 白盒测试方法
把程序看成装在一个透明的白盒子里,程序的结构和处理 呈现过程完全可见,按照程序的内部逻辑测试程序,以检 查程序中的每条通路是否都能按照预先要求正确工作。
1
黑盒测试与白盒测试
2
逻辑覆盖测试
主
要
3
路径分析测试
内
4
分支条件测试、循环测试
容
5
其它测试类型
6
综合测试实例
白盒测试的常用方法
3. 81-86->87->88->92->93->95->96>102
4. 81-86->87->88->92->93->94->102
94
95
5. 81-86->87->89-90->92->93->94-
>102
96
9798
并不是所有的基本路径都对应程序的可执行通路,
控制流图
❖ 说明
▪ 控制流图是由节点和边组成的有向图 1. 节点代表了代码或程序流程图中矩形框中所表示的
处理,菱形表示的判断处理以及判断处理流程相交 的汇合点,在图中用标有编号的圆圈表示 2. 边表明了控制的顺序,在图中用有向箭头表示。
控制流图
❖ 三种逻辑结构的控制流图
顺序
条件
循环
控制流图
SWPU
逻辑覆盖
路径分析
循环、条
…
测试
件分支
基本路径测试
❖ 相关概念 1. 基本路径 ▪ 本质上是从程序入口到出口的一些通路。之所以称其为基本路径, 原因在于可以通过对基本路径进行连接或者重复操作得到程序中 的其它路径 2. 控制流图 ▪ 基于代码结构构造的有向图,可用于描述程序的控制结构
❖ 测试思想 ▪ 根据程序的控制流图找出一个模块所需测试的基本路径,根据这 些基本路径设计构造相应的测试用例