白盒测试方法

您所在的位置:网站首页 中央控制盒也称为 白盒测试方法

白盒测试方法

2023-09-02 22:57| 来源: 网络整理| 查看: 265

一、概述:

白盒测试也称结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。

白盒测试法检查程序内部逻辑结构,对所有逻辑路径进行测试,是一种穷举路径的测试方法。但即使每条路径都测试过了,仍然可能存在错误。因为:

穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序。

穷举路径测试不可能查出程序因为遗漏路径而出错。

穷举路径测试发现不了一些与数据相关的错误。

二、方法

白盒测试主要是检查程序的内部结构、逻辑、循环和路径。常用测试用例设计方法有:

逻辑覆盖:以程序的内部逻辑结构为基础,分为语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖等。

基本路径测试:在程序控制流程的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。

 逻辑覆盖 vs. 路径覆盖:

逻辑覆盖:以程序或系统的内部逻辑结构为基础,分为语句覆盖、判定覆盖、判定-条件覆盖、条件组合覆盖等。

基本路径测试:在程序或业务控制流程的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。

2.1 语句覆盖:

语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次

如果是顺序结构,就是让测试从头执行到尾

如果有分支、条件和循环,需要利用下面的方法,执行足够的测试覆盖全部语句

只需设计一个测试用例:    a=2,b=1,c=6; 即达到了语句覆盖。

【优点】 :可以很直观地从源代码得到测试用例,无须细分每条判定表达式。

【缺点】 :由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件是无法测试的。如在多分支的逻辑运算中无法全面的考虑。语句覆盖是最弱的逻辑覆盖。

2.2 判定覆盖

设计若干用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。 一个判定往往代表着程序的一个分支,所以判定覆盖也被称为分支覆盖。

a=2,b=1 ,c=6可覆盖判断M的Y分支和判断N的Y分支;

a=-2,b=-1 ,c=-3可覆盖判断M的N分支和判断N的N分支 。   这两组测试用例可覆盖所有判定的真假分支。

a=1,b=1 ,c=-3  可覆盖判断M的Y分支和判断N的N分支 ;

a=1,b=-2 ,c=3可覆盖判断M的N分支和判断N的Y分支 ;   同样的这两组测试用例也可覆盖所有判定的真假分支。

【优点】:判定覆盖具有比语句覆盖更强的测试能力。同样判定覆盖也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测试用例。

【缺点】:往往大部分的判定语句是由多个逻辑条件组合而成,若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。判定覆盖仍是弱的逻辑覆盖。

2.3 条件覆盖

设计若干测试用例,执行被测程序以后,要使每个判断中每个条件的可能取值至少满足一次。

判断M表达式: 设条件 a>0 取真 记为 T1           取假 记为  F1  

条件 b>0 取真 记为  T2            取假 记为  F2

判断N表达式: 设条件 a>1 取真 记为 T3             取假 记为 F3  

条件 c>1 取真 记为  T4             取假 记为 F4

它覆盖了判定M的N分支和判断N的Y分支。 

测试用例

覆盖条件

具体取值条件

 

a=2,b=-1,c=-2

 

T1, F2, T3, F4

a>0,b1,c0,b>0, a>1,c>1

M=.T.

N=.T.

P1(1-2-4)

输入:a=-1,b=-2,c=-3

输出:a=-1,b=-2,c=-5

F1,F2,F3,F4

a



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3