海是我向往的地方,吸纳和咆哮是他的魅力!!!

软件测试基本概念

上一篇 / 下一篇  2008-02-21 10:00:26

软件测试基本概念

字体:     |上一篇下一篇|打印  |我要投稿

软件测试的概念

  设计软件测试的目标:能够系统的揭示不同类型的错误,并且耗费最少时间与最小工作量。
  不要指望软件测试说明错误和缺陷不存在,只应该认为软件测试可以表示软件错误和缺陷已经出现。
  我们进行系统的软件测试的目的是最大可能的发现并清除软件的错误。虽然代码评审和其他工作仍很重要(我认为Source Review是软件质量保证的核心),但没有什么能够取代软件测试。


软件测试的常用方法
  一 黑盒测试
  根据产品应提供的功能,通过测试去验证各功能是否完全实现,同时在各功能中寻找错误(不关心功能是如何实现的)
  二 白盒测试
  理解产品功能实现的内部设计,保证一个模块中所有的独立路径至少被测试一次。
  
  但是由于白盒测试不可能做到穷举所有的逻辑路径并测试,因此白盒测试不能保证程序百分之百的正确。我们应该结合使用黑盒测试和白盒测试。对重要模块使用白盒测试。


白盒测试方法
  白盒测试方法较容易被程序员接受,因为它和代码逻辑紧密相关。
  一 基本路径测试
  1)阅读完需求说明书后,程序员和白盒测试人员(也可能是程序员自己)应该绘制流图。流图就是图,用圆圈表示节点,代表一个或多个过程语句。节点间使用箭 头表示控制流的方向,称为边。如果从一个节点散发出多条边(一般两条),则这个节点就包含了条件判断,被称为判定节点。由边和节点隔开的空白成为区域,流 图外部总应该被算作一个区域。
  2)通过图论的公式计算环复杂度。环复杂度V(G)用来表示独立路径的数目。独立路径指该图中从出发节点到某节点结束时的一条路径。两条独立路径简单合并而成的路径不算一条新的独立路径。
  计算V(G)的方法有以下三种:
  V(G)=区域数量
  V(G)=E-N+2   边数目-节点数目+2
  V(G)=P+1   判定节点数目+1
  3)此时,程序员可以去编码,白盒测试人员可以找出V(G)条独立路径,并准备测试数据。注意,有些路径可能无法独立测试,只能作为别的路径的一部分测试。

  流图可以被转换成图矩阵。图矩阵构成了将白盒测试自动化或半自动化的数据基础。这里不详述。

  二 循环测试
  尽管基本测试简单高效,但是测试覆盖并不充分,还需要其他的测试方法加以补充。循环测试专用于测试,可以进一步提高测试覆盖率。
  循环测试最基本的形式是简单循环(只有一个循环层次)。测试人员应该设计五种测试集:
  1)整个跳过循环
  2)只有一次通过循环
  3)两次通过循环
  4)m此通过循环,m<循环最大次数
  5)n-1,n,n+1次通过循环
   
  两个简单的循环串接在一起,称为串接循环。如果两个循环毫不相干,则应作为两个独立的简单循环测试。如果循环不独立,则应该使用嵌套循环方法。

  嵌套循环的测试方法:
  1)从最内层循环开始,将其他循环设置为最小值
  2)对最内层循环使用简单循环测试方法
  3)由内向外重复1)和2),里层循环取典型值测试

  三 数据流测试

  四 控制结构

 

  黑盒测试方法
  黑盒测试用于辅助白盒测试发现其他类型的错误。比如:
  1)功能不对或者遗漏
  2)接口错误
  3)数据结构或外部数据库访问错误
  4)性能错误
  5)初始化和终止错误


TAG:

 

评分:0

我来说两句

Open Toolbar