欢迎光临
梦想从学习开始!

白盒测试怎么测?| 小熊测试

本文主要介绍 白盒测试怎么测?| 小熊测试,小熊希望对大家的学习或者工作具有一定的参考学习价值,在测试领域有所提升和发展。

  白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。“白盒”法全面了解程序内部逻辑结构,对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。

您现在正在阅读的是由小熊分享邦为您整理的 白盒测试怎么测?| 小熊测试

  

白盒测试   白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化分别是:

  1.语句覆盖每条语句至少执行一次;

  2.判定覆盖每个判定的每个分支至少执行一次;

  3.条件覆盖每个判定的每个条件应取到各种可能的值;

  4.判定/条件覆盖同时满足判定覆盖条件覆盖;

  5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次;

  6.路径覆盖使程序中每一条可能的路径至少执行一次;

  语句覆盖

  IF CONDITION THEN

  DO_SOMETHING;

  ELSE

  DO_SOMETHING_ELSE;

  END IF;

  优点:可以很直观地从源代码得到测试用例,无须细分每条判定表达式。

  缺点:由于这种测试方法仅仅针对程序逻辑中显示存在的语句,但对于隐藏的条件和可能到达的隐式逻辑分支,是无法测试的。

  判定覆盖

  IF CONDITION THEN

  DO_SOMETHING;

  ELSE

  DO_SOMETHING_ELSE;

  END IF;

  优点:判定覆盖比语句覆盖要多几乎一倍的测试路径, 当然也就具有比语句覆盖更强的测试能力。同样判定覆盖也具有和语句覆盖一样的简单性, 无须细分每个判定就可以得到测试用例。

  缺点:大部分的判定语句是由多个逻辑条件组合而成 (如,判定语句中包含AND、OR、CASE),若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。

  条件覆盖

  例:(1)IF (A>1) AND (B=0) THEN X=X/A

     (2)IF (A=2) OR (X>1) THEN X=X+1

  

实例   优点:条件覆盖比判定覆盖,增加了对符合判定情况的测试,增加了测试路径。

  缺点:要达到条件覆盖,需要足够多的测试用例,但条件覆盖并不能保证判定覆盖。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。

  判定-条件覆盖

  

实例   优点:判定/条件覆盖满足判定覆盖准则和条件覆盖准则,弥补了二者的不足。

  缺点:判定/条件覆盖准则的缺点是未考虑条件的组合情况。

  条件组合覆盖

  

XY取值   优点:多重条件覆盖准则满足判定覆盖、条件覆盖和判定/条件覆盖准则。更改的判定/条件覆盖要求设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身的所有可能结果也至少出现一次。并且每个条件都显示能单独影响判定结果。

  缺点:线性地增加了测试用例的数量。

  路径覆盖

  

XY取值   优点:可以对程序进行彻底的测试,比前面五种的覆盖面都广。

  缺点:由于路径覆盖需要对所有可能的路径进行测试 (包括循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。

  白盒测试的优缺点

  优点:1. 针对程序内部进行覆盖测试,覆盖率较高 2. 能较早期的发现程序中的缺陷

  缺点:1. 设计过于复杂 2. 无法验证程序的外部特性 3. 需求变更时,付出的代价较大

  

白盒测试覆盖测试

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小熊分享邦(www.xxfxb.com),希望大家能坚持软件测试之路,谢谢。

赞(0) 打赏
未经允许不得转载:小熊分享邦 » 白盒测试怎么测?| 小熊测试

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏