关于白盒测试

发表于:2009-11-19来源:作者:点击数: 标签:白盒
关于白盒测试 软件测试 一、白盒测试的定义 白盒测试定义:白盒测试也称结构测试或逻辑驱动测试,是一种 测试用例设计方法 ,它从程序的控制结构导出测试用例。 二、白盒测试的重要性 1、时间方面 影响系统集成联调,花费大量的时间去定位一些很低级的问题 2

关于白盒测试      软件测试

一、白盒测试的定义

白盒测试定义:白盒测试也称结构测试或逻辑驱动测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。

二、白盒测试的重要性
1、时间方面
      影响系统集成联调,花费大量的时间去定位一些很低级的问题
2、测试效果
      能够将集成测试系统测试不能发现的问题暴露出来
3、测试成本
      测试成本和定位问题成本
4、产品质量
      产品质量要求较高的模块

三、白盒测试评估

  1、测试完备性评估,主要检查测试过程中是否已经执行了所有的测试用例,对新增的测试用例是否已及时更新测试方案等。

  2、代码覆盖率评估,主要是根据代码覆盖率工具提供的语句覆盖情况报告,检查是否达到方案中的要求,公司要求语句覆盖达到100%。但很多情况下,第一轮测试用例执行完后是很难达到的,这时在评估过程中要对覆盖率进行分析,主要从以下方面来考虑:

  1)不可能的路径或条件

  2)不可达的或冗余的代码

  3)不充分的测试用例

  3、从覆盖的角度看,测试应该覆盖:

  1)功能覆盖

  2)输入域覆盖

  3)输出域覆盖

  4)函数交互覆盖

  5)代码执行覆盖

大多数有效的测试用例都来自于分析,而不是仅仅为了达到测试覆盖率目标而草率设计测试用例。千万不要误解测试覆盖,测试覆盖并不是我们最求的目的,它只是评价测试的一种方式,为测试提供指导和依据。

 

四、白盒测试技术中的逻辑覆盖

一个或者多个条件组成一个判定,一个程序中可以有多个判定。
首要的是建立一个二维的真值表,各列为判定和条件,各行为每组值的T或者F。

  1、语句覆盖

  为了暴露程序中的错误,至少每个语句应该执行一次。
  这也是最弱的逻辑覆盖标准咯。


  2、判定覆盖
  每个判定的每种可能结果都要执行一次。
  建立判定表以后,要保证每种判定的结果中都包含了T和F,才满足判定覆盖。


  3、条件覆盖
  不但每个语句需要执行一次,而且判定表达式中的每个条件都要取到可能的结果。
  建立判定表以后,要保证每种条件的结果中都包含了T和F,才满足条件覆盖。


  4、判定/条件覆盖
  使得每个判定以及每个判定中的每个条件都取到可能的结果。
  建立判定表以后,要保证每个判定结果包含T和F,而且每种条件的结果包含T和F。
  也就是综合了上面的条件覆盖和判定覆盖。


  5、条件组合覆盖
  使得每个判定中的条件的各种组合至少出现一次。
  也就是说,先把程序中的条件列出来,排列组合,写出所有的可能性,看有没有那组值同时满足这些排列组合。


  6、路径覆盖
  每条可能的路径都至少执行一次。
  就是看源程序中的判断,都有哪些组合,比如T ,FF,FT,等等,看看哪个满足包含了所有的组合。
  因为这些不同的组合就代表了程序中执行的不同路径。

 

 

 

      

原文转自:http://www.ltesting.net