黑盒测试及白盒测试的区别

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

应执行路径
sacbed ∧ sabd 选择用例: [(2,0,4),(2,0,3)](sacbed ) [(1,1,1),(1,1,1)] (sabd)
11
Page 11
b
A=2 OR X>1
N
Y
e
X:=X+1
d
结束
5、条件组合覆盖
使得每个判定中条件的各种“真”“假”可能组合 都至少出现一次 a Y Y 满足以下覆盖情况: B=0 c A>1 ① A>1, B =0 ② A>1, B≠0 c N N
Page 12
①⑤ ②⑥ ③⑦ ④⑧
编译系统下的执行情况: 部分路径未被执行。
Leabharlann Baidu
6、路径覆盖法
每条可能的路径都至少执行一次 s a
开始
测试用例
A>1 AND B=0
N Y
通过路径
sabd
c
X:=X/A
A 1
B 1
X 1
b
A=2 OR X>1
N
Y
1
1
0 0
2
1 4
sabed
sacbd sacbed
X:=X/A
b
A=2
N
Y Y
③ A≤1, B =0 ⑤ A=2, X>1 ⑦ A≠2, X>1
④ A≤1, B≠0 ⑥ A=2, X≤1 ⑧ A≠2, X≤1
e
X:=X+1
X>1
N
d
结束
选择用例: [(2,0,4),(2,0,3)] [(2,1,1),(2,1,2)] [(1,0,3),(1,0,4)] [(1,1,1),(1,1,1)]
N
Y
c
X:=X/A
覆盖情况:应执行路径 sabd ∧ sacbed 或: sacbd ∧ sabed 选择用例(其一):
b
A=2 OR X>1
N
Y
e
X:=X+1
⑴ [(2,0,4),(2,0,3)] sacbed [(1,1,1),(1,1,1)] sabd ⑵ [(2,1,1),(2,1,2)] sabed [(3,0,3),(3,1,1)] sacbd
9
Page 9
d
结束
3、条件覆盖
使判定中的每个条件至少都获得一次“真”值和“假”值。
s a
开始 A>1 AND B=0
N
应满足以下覆盖情况:
Y
c
X:=X/A
A>1 A≤1 B=0 B≠0 判定一: A>1 A≤1 B=0 B≠0 A=2 A≠2 X>1 X≤1 判定二: A=2 A≠2 X>1 X≤1
BEGIN
IF(A>1) AND (B=0)
A>1 AND B=0
N
Y
THEN X:=X/A ;
IF (A=2) OR (X>1) THEN X:=X+1 END;
X:=X/A
A=2 OR X>1
N
Y
X:=X+1
7
Page 7
1、语句覆盖
使得程序中每个语句至少都能被执行一次。
s
a
开始 A>1 AND B=0
条件覆盖:
执行足够的测试用例,使得所有判定中的每个条件至少都获得 一次“真”值和“假”值。
4
Page 4
白盒法
常用的覆盖标准
判定/条件覆盖:
执行足够的测试用例,使得判定中每个条件取到各种可能的值, 并使每个判定取到各种可能的结果。
条件组合覆盖:
执行足够的例子,使得每个判定中条件的各种可能组合都至少 出现一次。

语 句 覆 盖 判 定 覆 盖 条 件 覆 盖 判 定 条 件 覆 盖 条 件 组 合 覆 盖 路 径 覆 盖

3
Page 3
白盒法
常用的覆盖标准
语句覆盖:
选择足够的测试用例,使得程序中每个语句至少都能被执行一 次。
判定覆盖:
执行足够的测试用例,使得程序中每个判定至少都获得一次 “真”值和“假”值。
测试方法类-白盒测试
白盒测试
这种方法是把测试对象看做一个打开的盒子,它允许测 试人员利用程序内部的逻辑结构及有关信息,设计或选 择测试用例,对程序所有逻辑路径进行测试。通过在不 同点检查程序状态,确定实际状态是否与预期的状态一 致。因此白盒测试又称为结构测试或逻辑驱动测试 。
Page
1
测试方法类-白盒测试
2.①—③—④
路 径 1
测试用例 (A,B,C) A=3,B=4,C=5
结果 A=3,B=4,C=5
2
② 输出ABC ③ 不能构成三角形
A=5,B=8,C=2
不能构成三角形

结束
15
Page 15
解法2:
覆盖路径:
2.①—⑤—⑥ 3.①—②—⑤—⑥
测试用例
(2,2,5) (2,5,2)
N
Y
满足语句覆盖的情况: 执行路径:sacbed
c
X:=X/A
用例格式: [输入(A,B,X),输出(A,B,X)]
选择用例: [(2,0,4),(2,0,3)]
b
A=2 OR X>1
N
Y
e
X:=X+1
d
8
结束
Page
8
2、判定覆盖
使得程序中每个判定至少为TRUE和FALSE各一次。
s
a
开始
A>1 AND B=0
13
e
X:=X+1
3 2
Page 13
d
结束
例题:三角形问题
输入三整数,判断是否构成三角形,如构成三角形, 则输出三条边的值,否则输出“不能构成三角形”。 要求:
2、设计路径覆盖的测试用例。
14
Page 14
解法1:
覆盖路径:
1.①—②—④
开始
输入A,B,C ① (A+B>C)& (A+C>B)& (B+C>A) T F
① A+B>C ② ③ T A+C>B T F F 开始 输入A,B,C F
b
A=2 OR X>1
N
Y
e
X:=X+1
选择用例:
2 04 [(2,0,4),(2,0,3)] 11 1 [(1,1,1),(1,1,1)]
10
Page 10
d
结束
4、判定/条件覆盖
同时满足判定覆盖和条件覆盖。 s a
开始 A>1 AND B=0
N
Y
c
X:=X/A
应满足以下覆盖情况: 条件: A>1, A≤1, B=0, B≠0 A=2, A≠2, X>1, X≤1
白盒测试主要是想对程序模块进行如下检查:
对程序模块的所有独立的执行路径至少测试一遍。
对所有的逻辑判定,取“真”与取“假”的两种情况都 能至少测一遍。 在循环的边界和运行的界限内执行循环体。 测试内部数据结构的有效性 。。。
Page
2
软件测试方法
白盒法
白盒测试测试用例一般采用逻辑覆盖法进行设计。
路径覆盖:
路径覆盖是相当强的逻辑覆盖,它保证程序中每条可能的路径 都至少执行一次。
5
Page 5
白盒法步骤:
选择逻辑覆盖标准。
按照覆盖标准列出所有情况。
选择确定测试用例。
验证分析运行结果与预期结果。
逻辑结构
6
Page 6
白盒法举例
Procedure (VAR A,B,X:REAL);
相关文档
最新文档