实践白盒测试之逻辑覆盖案例1(精)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Case1 Case2
√ ×
Case1:A=2, B=0, X=3
a
F b T
语句覆盖
(A>1) AND (B=0)
c X=X/A T
F
d
(A=2) OR (X>1)
e源自文库
X=X+1
Case2:A=2, B=1, X=3
a F b
F d T
语句覆盖
此语句未覆盖
(A>1) AND (B=0)
T
c X=X/A
a
F b F
d
(A>1) AND (B=0)
T c
X=X/A
T
(A=2) OR (X>1)
e X=X+1
5.条件组合覆盖
设计用例,使得每个判断表达式中条件 的各种可能组合都至少出现一次;
上例中需考虑4个条件的8种组合
① A > 1, B = 0 T1 T2
② A > 1, B≠0 T1 F2
满足判定-条件覆盖的一组测试用例
A B X
路径 覆盖分支
覆盖条件
Case1
Case8
ce
bd
T1 T2 T3 T4
F1 F2 F3 F4
满足判定-条件覆盖的一组测试用例
A B X
路径 覆盖分支
覆盖条件
Case1 2 0 3
Case8 1 1 1
ace
abd
ce
bd
T1 T2 T3 T4
F1 F2 F3 F4
覆盖条件
Case6 2 1 1 a b e
Case7 1 0 3 a b e
be
be
T1 F2 T3 F4
F1 T2 F3 T4
Case6:A=2, B=1, X=1 Case7:A=1, B=0, X=3
条件覆盖
a T c X=X/A
F b F d
(A>1) AND (B=0)
(A=2) OR (X>1)
T
(A=2) OR (X>1)
e X=X+1
1.语句覆盖
语句覆盖
设计若干条测试用例,使程序中每条 可执行语句至少执行一次。 用例 A B X 执行路径 ace abe
Case1 Case2
√ ×
1.语句覆盖
语句覆盖
设计若干条测试用例,使程序中每条 可执行语句至少执行一次。 用例 A 2 2 B 0 1 X 3 3 执行路径 ace abe
判定一为真 判定一为假
③ A≤1, B = 0
④ A≤1, B≠0
F1 T2
F1 F2
⑤ A = 2,X > 1 T3 T4 ⑥ A = 2,X≤1 T3 F4 ⑦ A≠2,X>1 ⑧ A≠2,X≤1 F3 T4 F3 F4 判定二为假 判定二为真
满足条件组合覆盖的一组测试用例 A B X Case1 Case8 Case9 Case10 路径 覆盖组号 覆盖条件 T1 T2 T3 T4 T1 F2 T3 F4 F1 T2 F3 T4 F1 F2 F3 F4
A>1 B=0 A=2 X>1
取真表为
T1 T2 T3 T4
取假表为
F1 F2 F3 F4
3.条件覆盖
满足条件覆盖的一组测试用例
条件覆盖
A B X 路径 覆盖分支
覆盖条件
Case6
Case7
T1 F2 T3 F4
F1 T2 F3 T4
3.条件覆盖
满足条件覆盖的一组测试用例
条件覆盖
A B X 路径 覆盖分支
(A=2) OR (X>1)
e
X=X+1
Case1:A=2, B=0, X=3
a F
(A>1) AND (B=0) 错写成OR
语句覆盖
T
b
F
c X=X/A
T
(A=2) OR (X>1)
e
X=X+1
d
错写成AND
语句覆盖是最弱的覆盖
程序框图 (判定覆盖)
a
F b F
d
(A>1) AND (B=0)
e
X=X+1
d
判定覆盖
只作到判定覆盖将无法确定判定内部条件的错误。
F
b F
a
(A>1) AND (B=0)
T c X=X/A T
(A=2) OR (X>1)
e
X=X+1
d
错写成X<1
例:
F b
Case4:A=3, B=0, X=3 Case5:A=2, B=1, X=1
a (A>1) AND (B=0) T c
逻辑覆盖
语句覆盖
判定覆盖(分支覆盖)
条件覆盖 判定-条件覆盖 条件组合覆盖 路径覆盖
例子程序:
if( (a>1) && (b==0)) x=x/a; if ((a==2) || (x>1))
x=x+1;
程序框图(语句覆盖)
a
F b F
d
(A>1) AND (B=0)
T c
X=X/A
X=X/A
F
错写成X<1
(A=2) OR (X>1) T e X=X+1
d
因此判定覆盖仍是弱的覆盖标准。
程序框图(条件覆盖)
a
F b F
d
(A>1) AND (B=0)
T c
X=X/A
T
(A=2) OR (X>1)
e X=X+1
3.条件覆盖
设计若干测试用例,使程序的每个判定 中的每个条件的可能取值至少满足一次 上例中设条件:
T
e
X=X+1
两个测试用例覆盖了四个条件八种可能取值。但 未覆盖c、d分支,不满足判定覆盖的要求。
程序框图(判定——条件覆盖)
a
F b F
d
(A>1) AND (B=0)
T c
X=X/A
T
(A=2) OR (X>1)
e X=X+1
4.判定-条件覆盖
使判定中每个条件的可能取值至少满 足一次,并且使每个判定分支至少执 行一次。 判定-条件覆盖能同时满足判定、条件 两种覆盖标准。
T c
X=X/A
T
(A=2) OR (X>1)
e X=X+1
2. 判定覆盖(分支覆盖)
设计测试用例,使程序中的每个逻辑判 断的取真和取假的分支至少经历一次。 用例 Case1 Case3 A B X 执行路径 ace abd
2. 判定覆盖(分支覆盖)
设计测试用例,使程序中的每个逻辑判 断的取真和取假的分支至少经历一次。 用例 Case1 Case3 A 2 1 B 0 0 X 3 1 执行路径 ace abd
Case1:A=2, B=0, X=3
a F
b (A>1) AND (B=0) T
c
X=X/A
F d
(A=2) OR (X>1)
T
e X=X+1
Case8:A=1, B=1, X=1
a F (A>1) AND (B=0)
T
c X=X/A T
b
F
(A=2) OR (X>1)
e
d
X=X+1
程序框图(条件组合覆盖)
第一组:Case1:A=2, B=0, X=3
a F b (A>1) AND (B=0) T
判定覆盖
c X=X/A T
F
d
(A=2) OR (X>1)
e
X=X+1
第二组:Case3:A=1, B=0, X=1
a
F b F (A>1) AND (B=0)
判定覆盖
T c X=X/A T
(A=2) OR (X>1)