首页 > 教学资源 > 教学设计 > 第3章 白盒测试方法

第3章 白盒测试方法

文豪 收藏 投稿 点赞 分享
第3章 白盒测试方法

微信扫码分享

软件测试技术相关基础知识

软件测试技术主编 库波

中国水利水电出版社

软件测试技术相关基础知识

第3章 白盒测试方法 白盒测试方法 1、 代码检查 2、覆盖路径 3、路径测试 白盒测试工具 1、白盒测试工具介绍 2、实用JUnit进行白盒测试

软件测试技术相关基础知识

3.1 白盒测试方法 一般来说,测试任何产品有两种方法:第 一种测试方法就是我们第二章提到的黑盒 测试,第二种测试方法为白盒测试又称为 结构测试。

软件测试技术相关基础知识

3.1.1代码检查 代码检查即静态白盒测试,在不执行程序 的条件下仔细审查代码(可采用互查、走 查等形式),从而找出软件故障的过程。 正式审查过程中有4个关键要素: 1、确定问题。 2、遵守准则。 3、提前准备。 4、编写审查报告。

软件测试技术相关基础知识

3.1.1代码检查 代码检查应注意的哪些可能存在的软件缺陷呢?首先必须 对代码的规范性进行审查,另外还要考虑以下几种类别的 错误。 1、数据的引用错误。 2、数据类型错误。 3、数据声明错误。 4、计算错误。 5、逻辑运算错误。 6、控制流程错误。 7、子程序参数错误。 8、输入/输出错误。 9、其他错误。

软件测试技术相关基础知识

3.1.2覆盖测试 覆盖测试以程序内部的逻辑结构为基础设计测试 用例,要求对被测程序的逻辑结构有清楚的了解。 根据覆盖测试的目标不同,可分为:语句覆盖、 判定覆盖、条件覆盖、判定-条件覆盖、组合覆盖 及路径覆盖。下面以一个小程序为例。 Begin if(x>0)and(y<0) then z=z-(x+y); if(x>2)or(z>0) then z=z+5; 其中and、or是逻辑运算符,3个输入参数是x,y,z。 其对应的程序流程图如图3-1所示(a、b、c、d、 e为控制流上的若干程序点)。

软件测试技术相关基础知识

3.1.2覆盖测试 图3-1 被测程序流程图aN x>0 y<0 and Y

c

b z=z-(x+y)

N

Y

V d

x>2 z>0

or e

z=z+5

软件测试技术相关基础知识

3.1.2覆盖测试 1、语句覆盖 所谓语句覆盖是指设计若干个测试用例, 使程序中的每个可执行语句至少被执行一 次。 语句覆盖在测试程序时,对检查不可执行 语句方面起到一定作用,但被测程序并不 是语句间无序的堆积,语句之间存在着各 种各样的内部联系。所以,语句覆盖并不 能排除被测试程序中存在故障的风险。

软件测试技术相关基础知识

3.1.2覆盖测试 2、判定覆盖 所谓判定覆盖是指设计若干个测试用例, 使得程序中的每个判定至少得到一次真值 和假值,即判断中的真假分支至少均执行 一次。判定覆盖又称为分支覆盖。

软件测试技术相关基础知识

3.1.2覆盖测试 3、条件覆盖 所谓条件覆盖是指设计若干个测试用例,使得程 序中每个判断中每个条件的可能值至少得到一次。 因此,条件覆盖与判定覆盖相比增加了对符合判 定情况的测试以及测试路径。 4、判定/条件覆盖 所谓判定/条件

覆盖是指设计若干个测试用例,使 得判断中每个条件的所有(真或假)取值至少出 现一次,并且每个判断的所有(真或假)判断结 果也至少出现一次。

软件测试技术相关基础知识

3.1.2覆盖测试 5、组合覆盖 所谓组合覆盖是指设计若干个测试用例,使得每个判定条 件的各种情况至少出现一次。 6、路径覆盖 所谓路径覆盖是指设计若干个测试用例覆盖程序中所有的 路径。

软件测试技术相关基础知识

3.1.3路径测试 路径测试就是从一个程序的入口开始,执 行所经历的各个语句的完整过程。 路径测试法是在程序控制流图的基础上, 通过分析控制构造的环路复杂性,导出基 本可执行路径集合,从而设计测试用例的 方法路径测试方法。 (1)画出程序的控制流图。

软件测试技术相关基础知识

3.1.3路径测试

顺序结构

IF选择结构

While循环结构

Until结构

软件测试技术相关基础知识

3.1.3路径测试 (2)程序环形复杂度:McCabe复杂性度 量。 (3)导出基本路径集,确定程序的独立路 径。 (4)根据(3)中的独立路径,设计测试 用例的输入数据和预期输出,确保基本路 径集中的每一条路径的执行。

软件测试技术相关基础知识

3.1.3路径测试 1、程序路径表达 采用弧序列或者节点序列的方式并引入了 两个运算:加和乘。 (1)弧a和弧b相加,表示为a+b,它表明 两条弧是“或”的关系,是并行的路段。 (2)弧a和弧b相乘,表示为ab,它表明路 径是先经历弧a,接着再经历弧b,弧a和弧 b是先后相接的。

软件测试技术相关基础知识

3.1.3路径测试 路径表达式运算满足一下规律。 加法交换律: a+b=b+a 加法结合律: a+(b+c)=(a+b)+c 加法幂运算:a+a=a 乘法结合律:a(bc)=(ab)c 分配律: a(b+c)=ab+ac (a+b)c=ac+bc (a+b)(c+d)=a(c+d)+b(c+d) 值得注意的是路径表达式中乘法不满足交 换律。

软件测试技术相关基础知识

3.1.3路径测试 图3-3(a)和(b)1 1

a2

a

b3

c b e

2

Cc

d4

3

d f

5

4

软件测试技术相关基础知识

3.1.3路径测试 2、程序的环路复杂性 环路复杂性V(G)的计算方式有以下三种。 第一种:V(G)=区域数目。 第二种:V(G)=E-N+2。其中E表示边界 数目,N表示节点数目。 第三种:V(G)=P+1。其中P表示判断节 点数目。

软件测试技术相关基础知识

3.1.3路径测试 3、Z路径覆盖 通过对路径覆盖的分析中可以知道,对于路径较 少且比较简单程序而言,实现路径覆盖是可能实 现的。但是,如果程序中出现多个循环或者判断 的话,所涉及的路径数目也会快速增加,这就可 能造成无法实现路径覆盖。为了解决这个问题, 就必须去除一些次要因素,限制循环次数,从而 减少路径数量。这种简化循环下的路径覆盖称为Z 路径覆盖。 程序中比较典型的循环控制结构即为while和dowhile。两者的区别在于while是先判断,再执行。 do-while是先执行,

再判断。因此,do-while至少 执行一次。

第3章 白盒测试方法相关文章:

军事理论(2018超星尔雅同济版)章节测验题参考答案(第3章 国防类

第3章 图书及其检索方法

第3章 物质构成的奥秘全章教案

第3章 可编程控制器基本指令

第3章 移动信道的噪声和干扰

【一本通】2014届高考数学一轮复习 第3章 第17讲 数列的概念课件

第3章 绘制PCB电路图

第3章 白盒测试方法

第3章 Visual Basic语言基础

221381
领取福利

微信扫码领取福利

第3章 白盒测试方法

微信扫码分享https://www.jinbitou.cn/jiaoxueziyuan/sheji/110750.html