白盒测试 - 基础

白盒测试 - 基础

测试的基本方法:

  • 语句覆盖
  • 分支覆盖
  • 条件覆盖
  • 判定条件覆盖
  • 路径覆盖
  • 组合覆盖

强度由低到高:语句覆盖、分支覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖

语句覆盖

定义: 针对代码语句,设计出来的用例要保证程序中每一个语句至少被执行一次。

通常语句覆盖被认为是最弱的覆盖,因为仅仅考虑对代码中的执行语句进行覆盖而没有考虑各种条件和分支,比较难以发现代码中的问题。

example:
if A and B then Action1
if C or D then Action2
> 设计的用例:
case: A=true , B=true , C=true
第一条语句、第二条语句都执行了一次

分支覆盖

分支覆盖(判定覆盖):使得程序中每个判断的取真和取假都至少经历一次,即判断的真假均被满足。

example:
if A and B then Action1
if C or D then Action2
> 设计的用例:
case1: A = true , B = true , C = true , D = false
case2: A = true , B = false , C = false , D = false

  1. A and B == TURE
  2. A and B == FALSE
  3. C or D == TRUE
  4. C or D == FALSE

条件覆盖

条件覆盖:要求所设计的测试用例能使每个判定中的每一个条件都获取到可能的取值,即每个条件至少有一次真值和假值

example:
if A and B then Action1
if C or D then Action2
> 设计的用例:
case1: A=true, B=true, C=true, D=true
case2: A=false, B=false, C=false. D=false

判定条件覆盖

判定条件覆盖:测试用例可以使得判断中每个条件所有的可能取值都执行一次(条件覆盖),同时每个判断本身所有的结果也要至少执行一次(判定覆盖)

判定条件覆盖同时满足判定覆盖和条件覆盖,但未考虑到条件组合的情况。

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

条件覆盖:
A=true, A=false,B=true,B=false, C=true, C=false, D=true, D=false
判断覆盖:
A and B = true, A and B =false, C or D =true, C or D = false

> 设计的用例:
case1: A = true, B =ture, C=true, D=true
case2: A=false, B=false, C=false, D=false

组合覆盖

组合覆盖(条件组合覆盖):测试用例应使 每个判定中条件的各种组合都至少出现一次 。
组合覆盖一定满足判定覆盖、条件覆盖、判定条件覆盖。

example:
if A and B then Action1
if C or D then Action2
>设计的用例:
case1: A=true, B=true, C=true, D=true
case2: A=true, B=false. C=true, D=fasle
case3: A=false, B=true. C=false. D=true
case4: A=fasle. B=false. C=false. D=false

路径覆盖

路径覆盖要求覆盖程序中所有可能的执行路径。
路径覆盖是最彻底的测试用例覆盖,但实际可操作性不强

总结

在实际操作中,需要从代码分析和代码调研入手,根据调研结果,选择测试方法,设计出高效的测试用例,尽可能全面地覆盖到代码中的每一个逻辑路径。

白盒测试的优劣势:

  • 优点;
    • 迫使测试人员仔细思考软件的实现
    • 帮助软件测试人员增大代码的覆盖率,提高代码质量,发现代码隐藏问题
  • 缺点:
    • 系统庞大时,测试开销很大,对测试人员要求较高
    • 测试基于代码,不知道设计是否争取,可能会漏掉一些功能需求
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值