
第4章白盒测试及其用例的设计 4.1自盒测试方法 4.2自盒测试的基本概念 4.3覆盖测试 4.4路径测试 4.5最少测试用例数计算 第四章 白盒测则试及其用例的设计
A Free sample background from www.powerpointbackgrounds.com Slide 1 第四章 白盒测试及其用例的设计

本章教学目标 理论环节 ■学习理解白盒测试方法的基本概念 ■学习理解白盒测试的覆盖理论 ■学习掌握白盒测试的路径表达 ■学习掌握白盒测试的基本路径测试法 实践环节 ■通过案例运用学习掌握覆盖问题的解决方法 ■运用基本路径测试方法进行实际程序测试 第四章 白盒测试及其用例的设计
A Free sample background from www.powerpointbackgrounds.com Slide 2 第四章 白盒测试及其用例的设计

4.1白盒测试方法 ■为什么要进行白盒测试? 如果所有软件错误的根源都可以追溯到某个唯一原因, 那么问题就简单了。然而,事实上一个bug常常是由多个 因素共同导致的,如下图所示。 假设此时开发工作已结束,程序 送交到测试组,没有人知道代码中有 一个潜在的被0除的错误。若测试组 采用的测试用例的执行路径没有同时 经过x=0和y=5/X进行测试,显然测试 =51× 工作似乎非常完善,测试用例覆盖了 所有执行语句,也没有被0除的错误 发生。 Retur 第四章白盒则试及其用例的设计
A Free sample background from www.powerpointbackgrounds.com Slide 3 第四章 白盒测试及其用例的设计

白盒测试方法(续) ■白盒测试也称结构测试或逻辑驱动测试,是针对被测单元 内部是如何进行工作的测试。它根据程序的控制结构设计 测试用例,主要用于软件或程序验证。 ■白盒测试法检查程序内部逻辑结构,对所有逻辑路径进行 测试,是一种穷举路径的测试方法。但即使每条路径都测 试过了,仍然可能存在错误。因为: ,穷举路径测试无法检查出程序本身是否违反了设计规范, 即程序是否是一个错误的程序。 ,穷举路径测试不可能查出程序因为遗漏路径而出错。 ,穷举路径测试发现不了一些与数据相关的错误。 第四章 白盒测试及其用例的设计
A Free sample background from www.powerpointbackgrounds.com Slide 4 第四章 白盒测试及其用例的设计

白盒测试方法(续) ■采用白盒测试方法必须遵循以下几条原则,才能达到 测试的目的: >保证一个模块中的所有独立路径至少被测试一次。 >所有逻辑值均需测试真(true)和假(false)两种情况。 >检查程序的内部数据结构,保证其结构的有效性。 ,在上下边界及可操作范围内运行所有循环。 ■白盒测试主要是检查程序的内部结构、逻辑、循环和 路径。常用测试用例设计方法有: ,逻辑覆盖法(逻辑驱动测试) ,基本路径测试方法 第四章 白盒测试及其用例的设计
A Free sample background from www.powerpointbackgrounds.com Slide 5 第四章 白盒测试及其用例的设计

4.2白盒测试的基本概念 4.2.1控制流图 4.2.2环形复杂度 4.2.3图矩阵 Retur 第四章白盒则试及其用例的设计
A Free sample background from www.powerpointbackgrounds.com Slide 6 第四章 白盒测试及其用例的设计

4.2.1控制流图 ■控制流图(可简称流图)是对程序流程图进行简化后得到 的,它可以更加突出的表示程序控制流的结构。 ■控制流图中包括两种图形符号:节点和控制流线 >节点由带标号的圆圈表示,可代表一个或多个语句、一个 处理框序列和一个条件判定框(假设不包含复合条件)。 >控制流线由带箭头的弧或线表示,可称为边。它代表程序 中的控制流。 常见结构的控制流图 ■对于复合条件,则可将其分解为多个单个条件,并映射成 控制流图。 第四章 白盒测则试及其用例的设计
A Free sample background from www.powerpointbackgrounds.com Slide 7 第四章 白盒测试及其用例的设计 常见结构的控制流图

常见结构的控制流图 顺序结构 F选进结构 MHILE重复结构 UNTIL复结构 CASE多分支结构 其中,包含条件的节点被称为判定节点(也叫谓词节点), 由判定节点发出的边必须终止于某一个节点,由边和节点所 限定的范围被称为区域。 第四章白盒则试及其用例的设计
A Free sample background from www.powerpointbackgrounds.com Slide 8 第四章 白盒测试及其用例的设计 顺序结构 IF选择结构 WHILE重复结构 UNTIL重复结构 CASE多分支结构 其中,包含条件的节点被称为判定节点(也叫谓词节点), 由判定节点发出的边必须终止于某一个节点,由边和节点所 限定的范围被称为区域

4.2.2 环形复杂度 ■环形复杂度也称为圈复杂度,它是一种为程序逻辑复杂度 提供定量尺度的软件度量。 ■环形复杂度的应用一可以将环形复杂度用于基本路径方 法,它可以提供:程序基本集的独立路径数量:确保所有 语句至少执行一次的测试数量的上界。 ,独立路径是指程序中至少引入了一个新的处理语句集合或 一个新条件的程序通路。采用流图的术语,即独立路径必 须至少包含一条在本次定义路径之前不曾用过的边。 ■测试可以被设计为基本路径集的执行过程,但基本路径集 通常并不唯一。 第四章白盒测试及其用例的设计
A Free sample background from www.powerpointbackgrounds.com Slide 9 第四章 白盒测试及其用例的设计

计算环形复杂度的方法 ■环形复杂度以图论为基础,为我们提供了非常有用的软件 度量。可用如下三种方法之一来计算环形复杂度: ,控制流图中区域的数量对应于环形复杂度。 ,给定控制流图G的环形复杂度一V(G),定义为 V(G)=E-N+2 其中,E是控制流图中边的数量,N是控制流图中的节点 数量。 ,给定控制流图G的环形复杂度一V(G),也可定义为 V(G)=P+1 其中,P是控制流图G中判定节点的数量。 第四章白盒测试及其用例的设计
A Free sample background from www.powerpointbackgrounds.com Slide 10 第四章 白盒测试及其用例的设计