Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29787
  • 博文数量: 12
  • 博客积分: 258
  • 博客等级: 二等列兵
  • 技术积分: 155
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-21 21:46
文章分类

全部博文(12)

文章存档

2011年(12)

我的朋友

分类: 项目管理

2011-03-30 15:48:52

提到软件测试,不得不先说的就是软件过程。软件过程(Software Procedure)是指在软件生存周期中所涉及的一系列相关过程,通常可包括需求分析、软件设计、编码、测试和维护。任何的程序,都难免没有错误,找出软件的错误是必要的。测试集中于软件的内部逻辑和外部功能。所以,软件测试是软件过程的一个最重要的环节之一。主要包括黑盒测试、白盒测试等方法。下面对其简单介绍。

 

黑盒测试

亦被称作功能性测试或者数据驱动测试。常用的技术和方法有:边界值法、等价类划分、基于决策表的测试、错误推测法、因果图法、功能图法等。    

不管程序内部结构是什么样的,只从用户的角度,根据产品应该事先的功能和已经定义好的规格来验证其能否实现,功能是否能够满足要求,是否正常。

测试时,将整个程序当作一个不能打开的黑盒子,在不考虑程序内部结构和特性的情况下,测试人员针对程序接口和用户界面测试,只坚持程序功能是否按照需求规格说明正常使用,程序是否能够合适的接受输入数据而产生正确的输出,并且保持外部完整性。

黑盒测试适合一下一些情况:

  • 有错误或者遗漏功能
  • 在接口上,能否正确地接受输入数据,能否产生正确的输出信息
  • 访问外部信息是否有错
  • 性能上是否满足要求
  • 界面是否错误,是否不美观
  • 初始化和终止错误

黑盒测试方法着眼于程序的外部结构,不考虑内部逻辑结构,针对软件界面和软件功能进行测试。在用黑盒测试法的时候,必须在所有可能的输入和输出条件中确定测试数据。由于黑盒测试不可能穷举所有的可能情况,因此它也有局限性,必须结合白盒测试方法。

白盒测试

也叫做结构性测试或逻辑驱动测试。包括:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖、循环测试等。

已知产品的内部工作过程,清楚最终生成软件产品的计算机的程序的结构和语句,按照程序内部的结构测试程序,测试程序内部的变量状态、逻辑结构、运行路径等,检验程序中的每条通路是否都能按规定正常进行。主要方法有逻辑覆盖、基本路径测试等。

白盒测试要求全面了解程序内部逻辑结构和处理过程,以检查处理过程的细节为基础,要求对程序的结构特性做到一定程度的覆盖,对所有逻辑路径进行测试,并检验内部控制和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒测试法是穷举路径测试,但贯穿程序的独立路径数可能是一个天文数字,所以不能穷举进行。

  • 穷举路径测试绝不可能查出程序违反了设计规范,即程序在实现一个不是用户需要的功能。
  • 穷举路径测试不可能查出程序中因遗漏路径而出错。
  • 穷举路径测试可能发现不了一些与数据相关的错误。

      白盒测试法是“基于覆盖的测试”,应朝着提高覆盖率的方向努力,尽可能多地进行测试,找出那些被忽视的错误。一般来说,白盒测试有如下一些原则:

  • 保证每个模块中所有独立路径至少被使用一次。
  • 对所有逻辑值均测试为真值和假值。
  • 在上下边界及可炒作范围内运行所有循环。
  • 检查内部数据结构以确保其有效性。

综上,白盒测试用例的常见设计方法有逻辑覆盖、循环覆盖和基本路径测试。逻辑覆盖又可分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。

一些内容将在其他篇中详细讲述。

阅读(655) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~