Featured image of post 黑盒测试与白盒测试

黑盒测试与白盒测试

黑盒测试与白盒测试

1.白盒测试

定义:黑盒测试是一种不关注程序内部结构或实现细节,只关注软件的输入和输出的测试方法。测试人员把软件看作一个“黑盒子”,只根据需求规格说明书来设计测试用例。

常见白盒测试方法:

  1. **语句覆盖:**被测程序中每个语句至少执行一次
  2. **判定覆盖:**不仅每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次
  3. 条件覆盖: 每个判定中的每个条件至少执行1次
  4. 判定条件覆盖
  5. 路径覆盖
  6. 组合覆盖
1
2
3
4
5
6
//以这个例子完成白盒测试

if A and B
  then Action1
if C or D
  then Action2

1.1.语句覆盖

选择足够多的测试数据,使被测程序中每个语句至少执行一次。

在上面例子中,语句有两条,Action1和Action2

1
2
3
4
A and B -> True ===> A=True && B=True
C or D -> True ===> C=True or D=True

test1: A=true,B=true,C=true,d=true            //语句覆盖

1.2.判定覆盖—也叫分支覆盖

每个判断真假至少执行1次

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
上面例子中:
判定 A and B
     C or D
条件:A B C D

判定覆盖测试用例:
A and B  ===T  ===> A=T,B=T  1
A and B  ===F  ===> A=T,B=F  2
C or D   ===T  ===> C=T, D=T  3
C or D   ===F  ===> C=F, D=F  4
test1 A=T,B=T,C=T,D=F 1,3
test2 A=T,B=F,C=F,D=F 2,4

1.3.条件覆盖

每个判定中的每个条件至少执行1次

1
2
3
4
5
6
条件覆盖,每个条件至少取一次真假
A True False
B True False
C True False
D True False
   5    6
test1 A=T,B=T,C=T,D=T
test2 A=F,B=F,C=F,D=F

1.4.判定条件覆盖

就是判定覆盖和条件覆盖组合起来,既要让每个判定取一次真假,也要让每个条件取一次真假

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
判定覆盖测试用例:
A and B  ===T  ===> A=T,B=T  1
A and B  ===F  ===> A=T,B=F  2
C or D   ===T  ===> C=T, D=T  3
C or D   ===F  ===> C=F, D=F  4


A True False
B True False
C True False
D True False
   5     6
test1 A=T,B=T,C=T,D=T 1,3,5
test2 A=F,B=F,C=F,D=F 2,4,6

1.5.路径覆盖

把程序每条路径走一遍

img

1
2
3
4
5
6
7
8
9
                                  (x>3) and (z<10)
                                                 
                       action1                       ()

               (x==4 or (y>5)                   (x==4 or (y>5) 
                                                             
              action2                            action2        

             action3            action3           action3        action3
test1 x=4,z=9,y=6 路径1
test2 x=5,z=9,y=1 路径2
test3 x=2,z=9,y=6 路径3
test4 x=2,z=9,y=1 路径4

1.6.组合覆盖—也叫条件组合覆盖

把每个判定中的条件组合

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
Verdict: A and B
     C OR  D




Combined coverage:
   A    B       C  D
   T    F       T  F     test1
   T    T       T  T     test2
   F    T       F  T     test3
   F    F       F  F     test4

2.黑盒测试

定义:白盒测试是一种关注程序内部结构、实现逻辑和代码路径的测试方法。测试人员需要了解程序的内部代码,根据代码逻辑设计测试用例,以验证程序内部的正确性。

常见黑盒测试方法:

  1. 等价类划分
  2. 边界值分析
  3. 因果图
  4. 判定表
  5. 场景测试

2.1.等价类划分

步骤:找出限制条件

划分有效等价类和无效等价类

输入测试数据覆盖等价类

2.2.边界值分析

2.3.因果图

2.4.判定表

By Lsec
最后更新于 Jun 12, 2025 23:30 +0800
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计
¹鵵ҳ