第1页:控制结构测试
第2页:基本路径测试
- 基本路径测试Tom McCabe提出的一种白盒测试技术
- 根据过程设计结果画出相应流图
- 计算流图的环形复杂度控制结构测试V(G)=e-n+2V(G)=图所在平面被划分为的区域数V(G)=判定节点数+1
第3页:例控制结构测试15
- 基本路径测试
- 例:控制结构测试15e7e2e532476e1e4e3e6e8e9e10
- e=10, n=7
- V=e-n+2=5
- V=区域数=5
- V=判定节点数+1=5
第4页:1.基本路径测试
- 基本路径测试
- 确定线性独立路径的基本集合
- 独立路径:至少包含一条在定义该路径之前不曾用过的边。
- 环形复杂度为独立路径基本集的上界。
- 设计测试用例覆盖基本集合的路径控制结构测试
第5页:该图独立路径:
- 该图独立路径:
- 路径1:1-2-4-6-7
- 路径2:1-2-4-2-5-7
- 路径3:1-2-5-7
- 路径4:1-3-7
- 路径5:1-3-5-7控制结构测试1532476
第6页:例计算不超过100个在规定
- 例:计算不超过100个在规定值域内有效数的平均值;同时计算有效数字的综合和个数。
- 用PDL描述的如图。控制结构测试
第7页:(1)画出流图控制结构测试
- (1)画出流图控制结构测试
- (2)计算环形复杂度
- V=区域数=6
- V=17(e)-13(n)+2=6
- V=5(判定节点)+1=6
第8页:确定线性独立路径基本
- 确定线性独立路径基本集合path1: 1-2-10-11-13path2: 1-2-10-12-13path3: 1-2-3-10-11-13path4: 1-2-3-4-5-8-9-2-…path5: 1-2-3-4-5-6-8-9-2-…path6: 1-2-3-4-5-6-7-8-9-2-…控制结构测试
第9页:(4)设计测试用例执行基本集合中的路径控
(4)设计测试用例执行基本集合中的路径控:本页为图示内容,展示执行者、用例及其相互关系。
第10页:
第11页:
第12页:
第13页:
第14页:
第15页:注意:一些独立路径无法独立测试(本例路径
- 注意
- 一些独立路径无法独立测试(本例路径1),程序的正常流程不能形成独立执行该路径所需的数据组合(路径1,需要满足total.valid>0),这种情况下这些路径必须作为其他路径的一部分来测试。控制结构测试
第16页:2.循环测试分为四种:控制结构测试
2.循环测试分为四种:控制结构测试:本页为图示内容,展示(1)画出流图部分的组成结构与关键要素。
第17页:(1)简单循环①零次循环
- 简单循环
- 零次循环:从循环入口直接跳到循环出口。
- 一次循环:查找循环初始值方面的错误。
- 二次循环:检查在多次循环时才能暴露的错误。
- m次循环:此时的m<n。
- 最大次数循环、比最大次数多一次循环、比最大次数少一次的循环。控制结构测试
第18页:例:控制结构测试
例:控制结构测试:本页为图示内容,展示(1)画出流图部分的组成结构与关键要素。
第19页:嵌套循环
- 嵌套循环
- 从最内层循环开始,置所有其它层循环为最小值
- 对最内层循环做简单循环的全部测试。
- 逐步外推,测试时保持所有外层循环变量取最小值,其它嵌套内层循环变量取“典型”值。
- 反复进行,直到所有各层循环测试完毕。控制结构测试
第20页:连锁循环
- 连锁循环
- 各个循环互相独立,可用与简单循环相同方法进行测试。
- 几个循环不是互相独立,需要使用测试嵌套循环。
- 非结构化循环使用结构化程序设计方法重新设计控制结构测试