2011年(12)
分类: 项目管理
2011-03-30 15:48:52
提到软件测试,不得不先说的就是软件过程。软件过程(Software Procedure)是指在软件生存周期中所涉及的一系列相关过程,通常可包括需求分析、软件设计、编码、测试和维护。任何的程序,都难免没有错误,找出软件的错误是必要的。测试集中于软件的内部逻辑和外部功能。所以,软件测试是软件过程的一个最重要的环节之一。主要包括黑盒测试、白盒测试等方法。下面对其简单介绍。
黑盒测试
亦被称作功能性测试或者数据驱动测试。常用的技术和方法有:边界值法、等价类划分、基于决策表的测试、错误推测法、因果图法、功能图法等。
不管程序内部结构是什么样的,只从用户的角度,根据产品应该事先的功能和已经定义好的规格来验证其能否实现,功能是否能够满足要求,是否正常。
测试时,将整个程序当作一个不能打开的黑盒子,在不考虑程序内部结构和特性的情况下,测试人员针对程序接口和用户界面测试,只坚持程序功能是否按照需求规格说明正常使用,程序是否能够合适的接受输入数据而产生正确的输出,并且保持外部完整性。
黑盒测试适合一下一些情况:
黑盒测试方法着眼于程序的外部结构,不考虑内部逻辑结构,针对软件界面和软件功能进行测试。在用黑盒测试法的时候,必须在所有可能的输入和输出条件中确定测试数据。由于黑盒测试不可能穷举所有的可能情况,因此它也有局限性,必须结合白盒测试方法。
白盒测试
也叫做结构性测试或逻辑驱动测试。包括:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖、循环测试等。
已知产品的内部工作过程,清楚最终生成软件产品的计算机的程序的结构和语句,按照程序内部的结构测试程序,测试程序内部的变量状态、逻辑结构、运行路径等,检验程序中的每条通路是否都能按规定正常进行。主要方法有逻辑覆盖、基本路径测试等。
白盒测试要求全面了解程序内部逻辑结构和处理过程,以检查处理过程的细节为基础,要求对程序的结构特性做到一定程度的覆盖,对所有逻辑路径进行测试,并检验内部控制和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒测试法是穷举路径测试,但贯穿程序的独立路径数可能是一个天文数字,所以不能穷举进行。
白盒测试法是“基于覆盖的测试”,应朝着提高覆盖率的方向努力,尽可能多地进行测试,找出那些被忽视的错误。一般来说,白盒测试有如下一些原则:
综上,白盒测试用例的常见设计方法有逻辑覆盖、循环覆盖和基本路径测试。逻辑覆盖又可分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
一些内容将在其他篇中详细讲述。