黑盒测“外”不测“内”
发表于:2009-06-09来源:作者:点击数:
标签:
软件测试 有许多种方法,其中黑盒测试是广泛使用的两类 测试方法 之一。 “黑盒”测的是功能 黑盒测试也称 功能测试 或数据驱动测试。它在已知产品应具有的功能的条件下,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看作一个不能打开的黑盒子
软件测试有许多种方法,其中黑盒测试是广泛使用的两类
测试方法之一。
“黑盒”测的是功能
黑盒测试也称
功能测试或数据驱动测试。它在已知产品应具有的功能的条件下,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照
需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如
数据库或文件)的完整性。
“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
“黑盒”的两种基本方法
黑盒测试有两种基本方法,即通过测试和失败测试。
在进行通过测试时,实际上是确认软件能做什么,而不会去考验其能力如何。软件测试员只运用最简单,最直观的
测试案例。
在设计和执行测试案例时,总是先要进行通过测试。在进行破坏性试验之前,看一看软件基本功能是否能够实现。这一点很重要,否则在正常使用软件时就会奇怪地发现,为什么会有那么多的软件
缺陷出现?
在确信了软件正确运行之后,就可以采取各种手段通过搞“垮”软件来找出缺陷。纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试或迫使出错测试。
黑盒测试的设计方法
黑盒测试是以用户的观点,从输入数据与输出数据的对应关系出发进行测试的,它不涉及到程序的内部结构。很明显,如果外部特性本身有问题或规格说明的规定有误,用
黑盒测试方法是发现不了的。黑盒测试法注重于测试软件的功能需求,主要试图发现几类错误:功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、
性能错误、初始化和终止错误。
具体的黑盒测试方法包括等价类划分、因果图、正交实验设计法、边值分析、判定表驱动法、功能测试等。在使用时,自然要针对
开发项目的特点对方法加以适当的选择。
◆ 等价类划分
等价类划分是一种典型的黑盒测试方法,用这一方法设计
测试用例可以不用考虑程序的内部结构,只以对程序的要求和说明,即需求规格说明书为依据,仔细分析和推敲说明书的各项需求,特别是功能需求,把说明中对输入的要求和输出的要求区别开来并加以分解。
由于穷举测试的数量太大,以致于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作为测试用例。例如,在不了解等价分配技术的前提下,测试了1+1、1+2、1+3和1+4之后,还有必要测试1+5和1+6吗?能否放心地认为它们正确吗?那么1+999…(可以输入的最大数值)呢?这个测试用例是否与其他用例不同?是否属于另外一种类别?另外一个等价区间?这是软件测试员必须考虑到的问题。
等价类别或者等价区间是指测试相同目标或者暴露相同
软件缺陷的一组测试案例。 1+999…和1+13有什么区别呢?至于1+13,就像一个普通的加法,与1+5或者1+392没有什么两样,而1+999…则属于邻界的极端情况。假如输入最大允许数值,然后加1,就会出现问题——也许就是软件的缺陷。这个极端案例属于一个单独的区间,与常规数字的普通区间不同。
原文转自:http://www.ltesting.net