白盒测试技术
白盒的测试用例需要做到: 1、保证一个模块中的所有独立路径至少被使用一次。 2、对所有逻辑值均需测试 true 和 false。 3、在上下边界及可操作范围内运行所有循环。 4、检查内部数据结构以确保其有效性。
第四章 白盒测试技术
4.1.2 白盒测试的目的 白盒测试的目的:通过检查软件内部的
逻辑结构,对软件中的逻辑路径进行覆盖 测试;在程序不同地方设立检查点,检查 程序的状态,以确定实际运行状态与预期 状态是否一致。
第四章 白盒测试技术
4.2.2 判断覆盖
①、主要特点
判定覆盖又称为分支覆盖,它要求设计足够多的测试 用例,使得程序中每个判定至少有一次为真值,有一 次为假值,即:程序中的每个分支至少执行一次。每 个判断的取真、取假至少执行一次。
②、用例设计
序号
X
Y
路径
1
90
90
OAE
2
50
50
OBDE
3
90
④、缺点
要达到条件覆盖,需要足够多 的测试用例,但条件覆盖并不能保 证判定覆盖。条件覆盖只能保证每 个条件至少有一次为真,而不考虑 所有的判定结果。
第四章 白盒测试技术
4.2.4 判定/条件覆盖
①、主要特点
设计足够多的测试用例,使得判定中每个条件的所有可能结果 至少出现一次,每个判定本身所有可能结果也至少出现一次。
第四章 白盒测试技术
4.2.3 条件覆盖
①、主要特点
条件覆盖要求设计足够多的测试用例,使得判定中的 每个条件获得各种可能的结果,即每个条件至少有一 次为真值,有一次为假值。
②、用例设计
序号
X
Y
路径
1
90
70
OBC
2
40
90
OBD
第四章 白盒测试技术
③、优点
显然条件覆盖比判定覆盖,增 加了对符合判定情况的测试,增加 了测试路径。
70
OBCE
第四章 白盒测试技术
③、优点 判定覆盖比语句覆盖要多几乎一倍的测
试路径,当然也就具有比语句覆盖更强的测 试能力。同样判定覆盖也具有和语句覆盖一 样的简单性,无须细分每个判定就可以得到 测试用例。 ④、缺点 往往大部分的判定语句是由多个逻辑条件 组合而成(如,判定语句中包含AND、OR、 CASE),若仅仅判断其整个最终结果,而忽 略每个条件的取值情况,必然会遗漏部分测 试路径。
件结果的所有可能组合至少出现一次。 ②、用例设计
序号
X
Y
路径
1
90
90
OAE
2
90
70
OBCE
3
90
30
OBDE
4
70
90
OBCE
5
30
90
OBDE
6
70
70
OBDE
7
50
50
OBDE
第四章 白盒测试技术
③、优点 多重条件覆盖准则满足判定覆盖、
条件覆盖和判定/条件覆盖准则。更改的 判定/条件覆盖要求设计足够多的测试用 例,使得判定中每个条件的所有可能结 果至少出现一次,每个判定本身的所有 可能结果也至少出现一次。并且每个条 件都显示能单独影响判定结果。 ④、缺点 线性地增加了测试用例的数量。
软件测试基础教程
第四章:白盒测试技术
第四章 白盒测试技术
知识点: 掌握白盒测试方法:逻辑覆盖测试、基本 路径法
第四章 白盒测试技术
本章概要
1、什么是白盒测试? 2、什么是逻辑覆盖方法? 3、什么是基本路径分析方法?
第四章 白盒测试技术
4.1 白盒测试的概念
一般而言,白盒测试做多做少与产品形态有关,如果产品更
问题,统计这些问题占总问题数的比例,大致就是白盒测试应
投入的比例。
第四章 白盒测试技术
4.1.1 白盒测试的特点、缺点
特点:依据软件设计说明书进行测试、对程序内部细节的严 密检验、针对特定条件设计测试用例、对软件的逻辑路径进行覆 盖测试。
缺点:昂贵、无法检测代码中遗漏的路径和数据敏感性错误、 不验证规格的正确性。
多的具备软件平台特性,白盒测试应占总测试的80%以上,甚
至接近100%,而如果产品具备复杂的业务操作,有大量GUI界
面,黑盒测试的份量应该更重些。根据经验,对于大多数嵌入
式产品,白盒方式展开测试(包括代码走读)应占总测试投入
的一半以上,白盒测试发现的问题数也应超过总问题数的一半。
由于产品的形态不一样,很难定一个标准说某产品必须做百
②、用例设计
(如果此时将A路径上的语句1—〉T去掉,那么用例 如下)
序号
X
Y
路径
1
50
பைடு நூலகம்50
OBDE
2
90
70
OBCE
第四章 白盒测试技术
③、优点
可以很直观地从源代码得到测试用例,无须细分 每条判定表达式。
④、缺点
由于这种测试方法仅仅针对程序逻辑中显式存 在的语句,但对于隐藏的条件和可能到达的隐式逻辑 分支,是无法测试的。在本例中去掉了语句1—〉T 去掉,那么就少了一条测试路径。在if结构中若源代 码没有给出else后面的执行分支,那么语句覆盖测试 就不会考虑这种情况。但是我们不能排除这种以外的 分支不会被执行,而往往这种错误会经常出现。再如 ,在Do-While结构中,语句覆盖执行其中某一个条 件分支。那么显然,语句覆盖对于多分支的逻辑运算 是无法全面反映的,它只在乎运行一次,而不考虑其 他情况。
②、用例设计
序号
X
Y
路径
1
90
90
OAE
2
50
50
OBDE
3
90
70
OBCE
4
70
90
OBCE
③、优点 判定/条件覆盖满足判定覆盖准则和条件覆盖准则,弥补了二者
的不足。 ④、缺点 判定/条件覆盖准则的缺点是未考虑条件的组合情况第。四章 白盒测试技术
4.2.5 组合覆盖
①、主要特点 要求设计足够多的测试用例,使得每个判定中条
分之多少白盒测试,但依据历史经验,我们还可以进行定量分
析的。比如,收集某产品的某历史版本在开发与维护中发生的
所有问题,对这些问题进行正交缺陷分析(Orthogonal Defect
Classification,ODC),把“问题根源对象”属于概要设计、详细
设计与编码的问题整理出来,这些都是属于白盒测试应发现的
第四章 白盒测试技术
4.2 白盒测试-逻辑覆盖方法
通常的程序结构覆盖有: 1、语句覆盖; 2、判断覆盖; 3、条件覆盖; 4、判断/条件覆盖; 5、条件组合覆盖; 6、路径覆盖。
第第四二章章白软盒件测测试试技方术法
2.4 白盒测试
第四章 白盒测试技术
4.2.1 语句覆盖
①、主要特点
语句覆盖是最起码的结构覆盖要求,语句覆盖要求设 计足够多的测试用例,使得程序中每条语句至少被执 行一次。