[白盒测试学习] 从逻辑覆盖实例学起

1. 什么是白盒测试

白盒测试也称结构测试、逻辑驱动或基于程序的测试,是一种测试用例设计方法。

一般用于分析程序的内部结构。

针对特定的条件和循环设计测试用例,对程序的逻辑路径进行测试。

用这种发方法进行程序设计时,测试者可以看到被测程序,并分析其内部结构,白盒测试要求对被测程序的结构特性做到一定程度的覆盖。

从这个角度上说,白盒测试也是基于覆盖的测试技术。

2. 白盒测试方法概述

白盒测试通常分为静态和动态两种类型,包含很多常用的方法。

静态分析:

按照一定步骤直接见车源代码或代码的测试方法。

包括-代码审查、桌面检查、代码走查等方法

动态测试:

指按照一定步骤生成测试用例并驱动被测程序运行来发现错误。

包括-基本路径测试、符号测试、逻辑驱动覆盖、循环测试、数据流测试等方法。

3. 逻辑覆盖法

这里就从逻辑覆盖法开始了我的白盒测试学习历程。

逻辑覆盖是白盒测试中以程序内部的逻辑结构为基础的设计测试程序用例的技术。

是一系列测试过程的总称。

根据测试覆盖目标不同,以及覆盖源程序的详尽程度分析由高到低排序,可以分为:

语句覆盖

判定覆盖

条件覆盖

判定/条件覆盖

条件组合覆盖

路径覆盖

-------------------------分割线----------------------------------

[从实例开始说起]

程序流图如下:

路径:

p1 = {a,c,e}

P2 = {a,c,d}

P3 = {a,b,e}

P4 = {a,b,d}

判断条件

M = {A > 0 && B = 0}

N = {A = 2 || X > 1}

 

1. 语句覆盖

语句覆盖是选择足够多的测试用例,使得程序中每一条可执行语句至少被执行一次。

可以说是最弱的逻辑覆盖准则

测试用例id测试用例输入输出判定M的取值判定N的取值覆盖路径
001A=2,B=0,X=4A=2,B=0,X=3TTP1

2. 判定覆盖

使得程序总每个判定至少都获得一次“真”一次“假”,每次可以同时真或假,保证总共有真有假就好了。

测试用例id测试用例输入输出判定M的取值判定N的取值覆盖路径
002A=2,B=0,X=4A=2,B=0,X=3TTP1
003A=1,B=1,X=1A=1,B=1,X=1FFP4

 

3.条件覆盖

使得程序中每个判定中包含的每个条件都至少获得一次“真”一次“假”。

对判定M:

T1: A>1, 假为F1

T2: B=0, 假为F2

对判定N:

T3: A=2, 假为F3

T4: X>1, 假为F4

设计用例如下

测试用例id测试用例输入输出取值条件具体取值条件覆盖路径
004A=2,B=0,X=4T1,T2,T3,T4A>1,B=0,A=2,X>1P1 
005A=1,B=1,X=1F1,F2,F3,F4A<=1,B!=0,A!=2,X<1P4 

4. 判定/条件覆盖

每个判定和判定包含条件的真假结果都出现一次

测试用例id测试用例输入输出覆盖条件取值覆盖条件组合覆盖路径
006A=2,B=0,X=3T1,T2,T3,T41,5P1 
007A=2,B=1,X=2T1,F1,T2,F22,6P3 

 

5. 组合覆盖

所有条件组合都有一次

 

测试用例id测试用例输入输出覆盖条件取值覆盖条件组合覆盖路径
008A=2,B=0,X=4A=2,B=0,X=3T1,T2,T3,T41,5P1
009A=2,B=1,X=1A=2,B=1,X=2T1,F1,T2,F22,6P3
010A=1,B=0,X=3A=1,B=0,X=4F1,T2,F3,T43,7P3
011A=1,B=1,X=1A=1,B=1,X=1F1,F2,F3,F44,8P4

 

6.路径覆盖

顾名思义每个路径都走一次

测试用例id测试用例输入输出覆盖条件取值覆盖条件组合覆盖路径
012A=2,B=0,X=4A=2,B=0,X=3T1,T2,T3,T41,5P1
013A=1,B=0,X=1A=1,B=0,X=1T1,F2,T3,F42,6P4
014A=2,B=1,X=1A=2,B=1,X=2F1,T2,F3,T43,7P3
015A=3,B=0,X=1A=3,B=0,X=2F1,F2,F3,F44,8P2

 

 

 

转载于:https://www.cnblogs.com/RabbitHole/p/4439526.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值