1白盒测试方法1逻辑覆盖法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 华为的评价标准
引例:为什么要进行白盒测试?
Logo
如果所有软件错误的根源都可以追溯 到某个唯一原因,那么问题就简单了。 然而,事实上一个bug 常常是由多个 因素共同导致的,如下图所示。
Logo
黑盒查不到的问题
Logo
假设此时开发工作已结束,程序送交到测 试组,没有人知道代码中有一个潜在的被 0 除的错误。若测试组采用的测试用例的 执行路径没有同时经过x=0和y=5/x进行测 试,显然测试工作似乎非常完善,测试用 例覆盖了所有执行语句,也没有被 0 除的 错误发生。
例 子
Logo
L2: ( a b d ) = not{(A>1) and (B=0)} and not{(A=2) or (X>1)} = { not (A>1) or not (B=0) } and { not (A=2) and not (X>1) } = not (A>1) and not (A=2) and not (X>1) or not (B=0) and not (A=2) and not (X>1)
白盒测试主要是检查程序的内部结构、 逻辑、循环和路径。常用测试用例设 计方法有:
逻辑覆盖法(逻辑驱动测试) 基本路径法
• 此外还有: –循环测试法 –程序插桩法
我们主要介绍这几种
Logo
• A. • B. • C. • D.
逻辑覆盖法 基本路径测试法 循环测试 程序插桩技术
A 逻辑覆盖法
语句覆盖
• 测试用例的设计格式如下: 【输入的(A, B, X),输出的(A, B, X)】 • 为图例设计满足语句覆盖的测试用例是: 【(2, 0, 4),(2, 0, 3)】
Logo
覆盖 a-c-e【L1】
(A==2) and (B==0) or (A>1) and (B==0) and (X/A>1)
第 4章
白盒测试方法 ——逻辑覆盖法
目 录
1 2 3 4 5 6 7 白盒测试方法的引入 语句覆盖 判定覆盖 条件覆盖 判定条件覆盖 条件组合覆盖 路径覆盖
Logo
知识回顾
① ② ③ • • •
Logo
软件测试技术分类: 按面向测试对象粒度(按开发阶段)分: 按测试方法分: 按运行状态分: 什么是测试用例?由哪些部分组成?? 这个程序可以用来求什么?? k = i; for(j = i+1; j <= n; j++) { if(A[j] < A[k]) k = j;}
白盒测试定义
Logo
• 白盒测试将被测程序看作一个打开的 盒子,测试者能够看到被测源程序, 可以分析被测程序的内部结构,此时 测试的焦点集中在根据其内部结构设 计测试用例。 • 又称为 结构测试 或 逻辑驱动测试
白盒测试遵循的原则
Logo
• 采用白盒测试方法必须遵循以下几条原则,才 能达到测试的目的: 保证一个模块中的所有独立路径至少被测试一 次。 所有逻辑值均需测试真 (true) 和假 (false) 两种情况。
例 子
L3 :( a b e) = not {(A>1) and (B=0)} and {(A=2) or (X>1)} = { not (A>1) or not (B=0)} and {(A=2) or (X>1)} = not (A>1) and (A=2) or not (A>1) and (X>1) or not (B=0) and (A=2) or not (B=0) and (X>1)
Logo
例 子
L4: ( a c d ) = {(A>1) and (B=0)} and not {(A=2) or (X/A>1)} = (A>1) and (B=0) and not (A=2) and not (X/A>1)
Logo
语句覆盖
Logo
• 语句覆盖就是设计若干个测试用例, 运行被测程序,使得每一可执行语句 至少执行一次。 • 在例图中,正好所有的可执行语句都 在路径L1上,所以选择路径 L1设计 测试用例,就可以覆盖所有的可执行 语句。
主要是测试覆盖率,以程序内在逻辑结 构为基础的测试。包括以下6种类型:


Logo
语句覆盖 判定覆盖 条件覆盖

判定-条件覆盖 条件组合覆盖 路径覆盖。

开始 a
b

Logo
(A>1) && (B==0)

c
X=X/A
d
F
(A==2) || (X>1)
T
e
X=X+1
例 子
Logo
L1: ( a c e ) = {(A>1) and (B=0)} and {(A=2) or (X/A>1)} = (A>1) and (B=0) and (A=2) or (A>1) and (B=0) and (X/A>1) = (A=2) and (B=0) or (A>1) and (B=0) and (X/A>1)
检查程序的内部数据结构,保证其结构的有效 性。
在上下边界及可操作范围内运行所有循环。
Logo
白盒测试
Logo
• 程序的结构形式是白盒 250*(1+0.015)*((1+0.015)^3601)/0.015 测试的主要依据。 • 程序结构主要用 流程 图 N-S图来表示(p.65) • 程序的执行路径数目庞 大,让程序的所有路径 都执行一次,全面的白 3581322.29341wenku.baidu.com985680302829734 315 盒测试将产生百分之百 白盒测试 —带上X光眼镜测 试 正确的程序,实际上是 不可能的
• 对一个具有多重选择和循环嵌套的程序,不同 的路径数目可能是天文数字。给出一个小程序 Logo 的流程图,它包括了一个执行20次的循环。 • 包含的不同执行路径数达520条,对每一条路径 进行测试需要1毫秒,假定一年工作365 × 24 小时,要想把所有路径测试完,需3170年。
白盒测试方法
Logo
回顾:测试用例
Logo
• 测试用例由测试输入数据以及与之对应的输出 结果组成。 • 测试用例设计的好坏直接决定了测试的效果和 结果。所以说在软件测试活动中最关键的步骤 就是设计有效的测试用例。 • 测试用例可以针对黑盒测试设计用例,也可以 针对白盒测试设计用例,我们今天开始讲针对 白盒测试的用例设计方法。
相关文档
最新文档