给出一个简单的测试样例,然后再进行白盒测试的讲解
if A and B
then action1
if C or D
then action2
每个语句执行一次
也就是,样例中的每个语句执行一次,至于ABCD取值,要满足IF条件,让四个语句都执行一次
A and B -> T ? A=T B=T
C or D -> T ? C=T (也可以是C=F,D=T)
test= A=T B=T C=T
什么是判定?
A and B ,这个整体就是一个判定
每个判定真假至少一次
A and B =T ->A=T B=T ①
A and B =F -> A=T B=F ②
C or D = F -> C=T D=T ③
C or D = F -> C=F D=F ④
测试样例就是每种情况都覆盖到一次
test1: A=T B=T C=T D= F ? ① ③
test2:A=T B=F C=F D= F ? ② ④
什么是判定?
A ,B,C,D ,各是一个条件
让每个条件取一次真和假
A | T | F |
---|---|---|
B | T | F |
C | T | F |
D | T | F |
⑤ | ⑥ |
既满足判定,又满足条件覆盖,即满足①-⑥
test1: A=T B=T C=T D= T ? ① ③ ⑤
test2:A=F B=F C=F D= F ? ② ④ ⑥
注意:是满足这种情况,所以不用看之前的结果,满足条件即可,也就是说 A=F B=F满足A and B 为假这种情况
顾名思义,把一个判定中的各种条件组合起来.
注意:A和B组合,C和D组合
A | B | C | D | |
---|---|---|---|---|
test1: | T | T | T | T |
test2: | T | F | T | F |
test3: | F | T | F | T |
test4: | F | F | F | F |
例图如下:
答案如下:
画一个树状图,包含所有的判定情况,然后让各个测试样例满足每一种路径的情况.
test1: x=4,z=9,y=6
rest2: x=5,z=9,y=1
test3: x=2,z=9,y=6
test4: x=2 z=9,y =1