白盒测试的各种方法

文章目录

  • 一、逻辑测试法设计测试用例
    • 1.1语句覆盖
    • 1.2判定覆盖
    • 1.3条件覆盖
    • 1.4判断、条件覆盖(CDC)
    • 1.5条件组合覆盖(MCC)
  • 二、基本路径测试法
    • 2.1定义:
    • 2.2程序控制流图

白盒测试又叫架构测试
语句覆盖<条件覆盖<判定覆盖<条件-判定覆盖<组合覆盖<路径覆盖

一、逻辑测试法设计测试用例

此方法主要是测试覆盖率,以内在逻辑结构为基础进行测试

1.1语句覆盖

使程序中的每个可执行语句至少执行一次。
白盒测试的各种方法_第1张图片
如图所示,覆盖的路径依次为1->2->3->4

特点:
(1)程序中每个语句至少执行一次
(2)对程序执行逻辑的覆盖率低,属于最弱的覆盖方式

1.2判定覆盖

含义:在这里插入图片描述
白盒测试的各种方法_第2张图片
可以设计的测试用例为:
第一个条件为真,第二个条件为假
第一个条件为假,第二个条件为真
在这里插入图片描述
也可以设计:
第一个条件为真,第二个条件为真
第一个条件为假,第二个条件为假

特点:
优点:不仅满足了判定覆盖还满足了语句覆盖,因此比语句覆盖稍强。
缺点:但仍然无法发现程序段中的逻辑判定错误。

1.3条件覆盖

定义:设计用例,使每个判断中的每个条件的可能取值至少满足一次
白盒测试的各种方法_第3张图片
第一个判定框: 第二个判定框:
a>1为真     T1           a=2为真  T3
a>1为假     -T1          a=2为假  -T3
b==0为真       T2           x>1为真   T4
b==0    为假   -T2          x>1为假  -T4
设计:
T1,-T2,T3,-T4
-T1,T2,-T3,T4
其他满足的也可以
特点:
(1)增加了对条件判断情况的判断,增加了测试路径
(2)※条件覆盖不一定满足判断覆盖

1.4判断、条件覆盖(CDC)

定义:设计足够多的测试用例,使得判定中的每个条件的所有可能(真/假)至少出现一次,并且判定本身的判定结果(真/假)也至少出现一次。
设计满足的测试用例:
T1,T2,T3,T4
-T1,-T2,-T3,-T4

1.5条件组合覆盖(MCC)

定义:设计足够多的测试用例,使得每个判定中的各种可能的组合都至少出现一次。
所有条件的组合
满足“条件组合覆盖”的测试用例是一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”的
白盒测试的各种方法_第4张图片
测试用例:
全T写一组:
全F写一组:
T和F组合写:
TFTF
FTFT

特点:
组合覆盖一定满足判定覆盖、条件覆盖、判定/条件覆盖

白盒测试的各种方法_第5张图片

二、基本路径测试法

2.1定义:

基本路径测试是在程序控制流图的基础上,通过分析控制流图的环形复杂度,导出基本可执行的独立路径的集合。
可以保证被测程序的每一条可执行语句至少执行一次。

2.2程序控制流图

只有结点和边
白盒测试的各种方法_第6张图片
复合条件分解为控制流图:
白盒测试的各种方法_第7张图片
环形复杂度V(G):
(1)流图中的区域数
(2)V(G) = E-N+2;(边的条数-结点数+2;)
(3)V(G) = P+1;(判定结点数目+ 1)
注意:判定结点个数=分支个数-1;

你可能感兴趣的:(软件测试,测试用例)