51Testing软件测试论坛

标题: 黑盒测试方法揭密 [打印本页]

作者: songfun    时间: 2004-6-30 14:24
标题: 黑盒测试方法揭密
作者:陈樵 2002年04月08日 本文选自:中国计算机报

一、黑盒测试在快速应用开发(rad)环境中的重要作用

  软件测试方法一般分为两种:白盒测试与黑盒测试。其中,白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,着重于程序的内部结构及算法,通常不关心功能与性能指标。黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,实际上是站在最终用户的立场上,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。

  随着rad环境的发展,软件工程面临新的挑战,其中包括:

  ●应用系统的规模越来越庞大,结构越来越复杂;

  ●开发团队人员越来越多,分工越来越细;

  ●项目投资日益提高,导致投资风险增大。

  在这样一种背景下,软件质量面临着更大的危机,而解决问题的关键正是黑盒测试,可是由于传统的黑盒测试往往局限于手工测试,凭借工程人员的经验自发地进行,缺乏严格的测试管理机制,因而效果并不明显。

  在分发一个应用系统之前,若没有经过科学、周密的黑盒测试,就相当于将大量隐含的缺陷(defect)交付到最终用户手中,这对于开发团队自身、项目投资方及最终用户来说都是不负责任的表现,也将严重损害三方的利益。

  今天,软件的质量要求越来越受到重视,在对软件的质量监督中,黑盒测试起着重要的、不可替代的作用;而随着软件开发平台及软件设计思想的进步和发展,特别是rad技术的发展,对黑盒测试提出了更明确的要求,人们发现,必须遵循一定的测试理论,依赖于优秀的测试工具,才能进行科学、完备的测试。

  二、黑盒测试的操作步骤

  在传统的软件开发生命周期当中,测试工作往往被搁置到整个开发过程的后期进行,也就是说,当应用程序的编码工作已经基本完成,才开始进行测试,这样做的缺点在于:

  a)由于应用程序庞大而复杂,测试工作千头万绪,测试人员难以组织科学、全面的测试用例,从而大幅度提高了测试成本,并严重影响测试的全面性和有效性;

  b)由于缺陷所涉及的模块从开发到测试之间的时间间隔较长,使得程序员的修改和维护工作要付出更大的代价;

  c)由于受到分发日期的限制,测试工作往往是在忙碌中结束的,而将大量的缺陷遗留给最终用户,也就是说,真正的测试工作实际上是由最终用户来完成的。

  因此,为了保证测试工作科学、精确、全面、有序地进行,应该采取一边开发一边测试的策略,使得开发工作与测试工作平行进行,这也就是俗话所说的“越早测试越好”的概念。

  一套完整的测试应该由五个阶段组成:

  1.测试计划

  首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。

  2.测试设计

  将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。

  3.测试开发

  建立可重复使用的自动测试过程。

  4.测试执行

  执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

  5.测试评估

  结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。

  显然,黑盒测试只有严格按照步骤进行,才可能对应用程序的质量进行把关。然而,如果没有一种优秀的测试工具的帮助,单纯凭借手工测试,不但将耗费大量的人力、物力和财力,而且有很多测试工作是难以实现甚至是无法实现的。

  三、手工测试与自动测试的比较

  手工测试无法保证黑盒测试的科学性与严密性,这是因为:

  ●测试人员要负责大量文档、报表的制订和整理工作,会变得力不从心;

  ●受软件分发日期、开发成本及人员、资源等诸多方面因素的限制,难以进行全面的测试;

  ●如果修正缺陷所花费的时间相当长,回归测试将变得异常困难;

  ●对测试过程中发现的大量缺陷缺乏科学、有效的管理手段,责任变得含混不清,没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率;

  ●反复测试带来的倦怠情绪及其他人为因素使得测试标准前后不一,测试花费的时间越长,测试的严格性也就越低;

  ●难以对不可视对象或对象的不可视属性进行测试。

  因此,自动测试成为最佳的解决方案。所谓自动测试,实际上是将大量的重复性工作交给计算机去完成,一个优秀的自动测试工具,不但可以满足科学测试的基本要求,而且可以节约大量的时间、成本、人员和资源,并且测试脚本可以被重复利用(包括被不同的项目所利用)。
作者: Song    时间: 2004-6-30 16:50
标题: 斑竹辛苦了!
谢谢斑竹啊,我现在刚刚入门,进行的就全是黑盒测试,这对我来说太有用了。
作者: greenhouse    时间: 2004-8-15 14:01
谢谢斑竹指导,那么以后还请斑竹多多帮助进测试开发。请问我单位是电子商务方面的软件,那么用什么样的测试工具比较好?
作者: 欣欣    时间: 2004-8-15 16:36
谢谢斑竹!!!
我也想咨询一下,我的公司主要是开发面向石油石化方面的应用软件,我应该怎样选择测试用具?
作者: 欣欣    时间: 2004-8-15 16:41
请教斑竹,对于测试用语,有没有什么标准?
作者: shindomsnake    时间: 2004-8-16 10:20
应用黑盒测试中的自动化测试,可否提示一些工具,谢谢!!我是新手。
作者: testing    时间: 2004-8-16 10:23
WinRunner,LoadRunner,Rational Robot,SilkTest,SilkPerformer等等
作者: szjerry    时间: 2004-9-15 09:30
我公司是做DVD,EVD测试的,
请问哪个软件最适合啊,
作者: qingyu0306    时间: 2004-9-19 17:09
标题: 斑竹大人 我是测试电力系统软件的请问该用什么测试工具啊

作者: 真水无香    时间: 2004-10-21 08:47
谢谢,呵呵,,努力学习ing 。。。。。
作者: lhy    时间: 2004-12-22 17:21
标题: 我公司是做通讯方面软件的请问什么自动化工具比较适合呢?
虽然我们公司还没有用,但我想提前了解一些,好做好准备,谢谢
作者: lhj_ice    时间: 2005-1-5 12:42
非常感谢斑竹,我这一阵在学习测试理论,经常看得时候明白,看完又糊涂了。请斑竹多指教有关测试理论的内容,不胜感激!
作者: Nokia0906    时间: 2005-1-13 13:14
标题: 我还没看
我还没看呢,先收藏!呵呵
作者: wangjihui1980    时间: 2005-3-15 16:22
哈哈哈,好不happy啊!
作者: ami冰河    时间: 2005-3-25 13:19
我们现在大多数做的都是黑盒测试吗?
那系统测试,有些什么工具呢!
我才开始实习,公司规模比较小!估计所有的测试都要做的 !希望斑竹指点!
作者: 阿伯大哥    时间: 2005-4-5 16:53
谢谢斑竹的整理,把02年的都拿出来了!!
作者: feifei5008    时间: 2005-4-15 17:00
pp……
作者: 霞子    时间: 2005-4-20 17:14
谢谢斑竹,受益匪浅!!
作者: 2t    时间: 2005-5-10 13:58
谁会PC-LINT软件的使用啊
我是个绝对新手我想知道这个软件的使用方法,还有此软件的下载地址,请斑竹给一指教.我在这里先拜谢了.
作者: 2t    时间: 2005-5-17 11:27
谁有关于手机测试方面的论文给小弟发一篇好吗?
此论文关系小弟的身家性命啊!!
在着跪谢了,
作者: 2t    时间: 2005-5-26 15:59
不会吧怎么这么长时间没人来了啊!!!
个为大哥大姐都干什么去了啊???
作者: hpaolo    时间: 2005-7-8 11:34
感谢楼主 我是刚入行的新手 做的几乎全是黒盒测试 这东东对我来说太有用了 呵呵
作者: chriswu0102    时间: 2005-7-14 19:53
学习ing
作者: zijieer    时间: 2005-7-27 10:21
能介绍几个测试工具吗?上手难吗?
我们公司比较不正规,都没有相应的培训就让我从事测试工作
让自己学习,简直是乱搞!
作者: 93326736    时间: 2005-8-18 15:03
近年来,软件测试自动化技术的研究取得了很大进步,市场出现了一些商业化的专用自动测试工具,并且已经成功地应用在某些软件的自动化测试过程中。自动测试具有测试效率高、人工干涉少、灵活方便等优点。但是,自动测试技术的仍然处于不断发展中,当前市场上的自动测试工具仍然只能满足某些软件的部分测试特性,应用范围受到限制,需要针对被测软件,单独编写和调试比较复杂的测试脚本,而且自动测试工具价格通常十分昂贵,非一般软件公司可以购买的起。在当前的软件测试领域,测试工程师的手工测试仍然处于十分重要的地位,目前软件自动测试仅是手工测试的辅助手段。由于软件自身的复杂性和灵活性,而高度发达的人类思维的优势,决定了无论自动测试技术多么发达,手工测试将不会消失。
作者: cxsquirrle    时间: 2005-8-23 21:29
斑竹:
     你好,我是测试方面的新手.我想问一下,我公司是做防火墙的,但是没有什么培训的,刚开始都没事情就是看文档,现在要进行这方面的测试我都不知道从什么地方着手,测试防火墙一般可以用什么测试工具loadrunner?robot?哪种比较好。
作者: happy058    时间: 2006-3-24 00:03
标题: 讨论
基于楼上有人问到什么工具适合自己,你们可以到51testing主页上看看,大部分工具都有。
作者: tutu2006    时间: 2006-3-24 10:42
蛋Q蛋Q!!斑主辛苦了……
作者: 阿珊    时间: 2006-3-24 17:26
斑竹大人~
我下载了winrunner,可是是英文版的,俺连装都不会,就更别提用了!
怎么办啊??苦死我了!!!
作者: zhezhe2008    时间: 2006-3-30 16:09
标题: 谢谢斑竹,
受益匪浅!!
作者: 李逍遥    时间: 2006-4-10 17:01
谢谢斑竹!
作者: karkoy    时间: 2006-4-12 12:02
正在进行黑盒测试,谢谢
作者: wolfnc    时间: 2006-4-27 22:53
标题: ??
有没有相对应的白盒测试的相关解释?
作者: xingzunxi    时间: 2006-6-16 14:30
不错的文章,但是自动化测试,也有很多不足的地方,它是不可能完全代替手动测试的
作者: 阳光岁月    时间: 2006-6-19 17:29
测试工具只是辅助的手段,最重要的还是自己要多积累各方面的经验和教训.....不过还是想问一下,我们公司做的主要是网络游戏方面的测试,请问一下什么工具比较合适?
作者: jokie    时间: 2006-7-4 09:34
标题: 说得太深厚,噢都听不懂了!
[font=宋体][color=Pink]希望大家能够交我这个朋友!我的QQ:215143066,MSN:jickllyloveshe@hotmail.com
欢迎加入我的群!26526836

[/color][/font]
作者: 冰焰琉璃    时间: 2006-8-21 16:19
绝对支持~~~
作者: walker_lai    时间: 2006-8-27 12:20
怎么都变成让别人给自己挑工具的了
作者: 漂漂宝贝    时间: 2006-10-13 23:55
入门级~~~~

谢谢~~斑竹~~!
作者: enjoytest    时间: 2006-12-7 19:43
标题: 回复 #14 的帖子
我觉得先要系统的学习软件测试理论,这是软件测试的第一步,也是重重要的一步,打好功底再说,呵呵
作者: enjoytest    时间: 2006-12-7 19:51
标题: 接下来
第二步就是实践,实践所学的理论知识,并且适当学习应用测试工具,在实践中验证理论知识,在实践中丰富理论知识,在实践中真正领悟理论知识,一步步地变成一个资深的测试工程师!
作者: enjoytest    时间: 2006-12-8 09:08
标题: 好贴
好贴,我收藏了,呵呵,多谢
作者: assddf    时间: 2006-12-11 15:59
顶个~看完了,对黑盒测试又有了进一步的了解,谢谢楼主~
作者: 风华绝代    时间: 2007-2-13 09:53
这不是什么秘密吧??
作者: 杨小    时间: 2007-2-15 18:10
标题: ddf
现在我们大部分都做黑盒测试,所以这些很有用,最好再有一些经验性的东西就更好了
作者: nicholas.hl    时间: 2007-3-5 10:56
把自动化测试说的神似的  把手工测试贬的一文不值似的

请问LZ 自动化测试能代替手工测试不成
作者: walker_lai    时间: 2007-3-5 11:28
标题: 回复 #7 testing 的帖子
不错
作者: Jeongspear    时间: 2007-3-7 11:05
黑盒方面的自动化测试工具:loadrunner,robot,QTP,winrunner
作者: tingvictory    时间: 2007-3-9 12:16
标题: 谁能给我一个做软件测试的机会啊?
我是通信毕业的,现在做电子方面的工作,但是对这方面又没有兴趣,对软件测试方面很有灵感啊,所以很想从事这方面的工作,现在毕业2年了,一直都没有从事这方面的工作,所以现在找软件测试的工作很难啊,人家都要有测试经验的,我平时很喜欢看软件测试方面的东东,很喜欢这行啊.谁能给我机会啊,请教各位高手指点一下哦!在此谢过了!
作者: bruce_zjh    时间: 2007-3-10 15:46
多谢斑竹,需要一些入门级的书籍,希望斑竹能够提供,多谢了
作者: yukisure    时间: 2007-3-11 00:36
标题: 惴惴不安
今天才上了半天课,心情好复杂啊,刚进来看看,感觉很好sdlkfj5
路漫漫,以后多来请教各位前辈了,吼吼
作者: dwgc    时间: 2007-3-12 15:36
找到合适的工具真的很难,好多都是收费的
作者: you力    时间: 2007-3-20 19:30
51老师,风采可见啊~尽心尽力
作者: 寂寞圣贤    时间: 2007-3-20 20:49
标题: 感谢
谢谢,这样对黑盒测试更深入了解!
作者: flycje    时间: 2007-3-22 10:24
标题: 请教
请问:我们公司是做网站方面的测试的,请问一般用哪些测试工具呢?
作者: vickiren    时间: 2007-3-22 12:19
标题: 回复 #11 qingyu0306 的帖子
我也是新手,
想看看一些测试用例方面的书籍
不知道可不可以推荐一下,要是有现成的 就希望发送到我邮箱
renhuan_vicki◎163.com
作者: 厍仕杰    时间: 2007-3-22 14:33
也是新手,
想看看一些测试用例方面的书籍
不知道可不可以推荐一下,要是有现成的 就希望发送到我邮箱
renhuan_vicki◎163.com
作者: vickiren    时间: 2007-3-27 15:40
标题: 回复 #1 songfun 的帖子
我也刚开始sdlkfj5
作者: yuyanshe    时间: 2007-3-28 09:11
刚刚入这行。。。。
作者: apple_love521    时间: 2007-4-4 13:37
标题: 求助
有没有软家测试工具快速入门
我今天第一天上班,还比较迷茫 !
作者: chargle    时间: 2007-4-4 14:17
先从黑盒测试入手
作者: liyongdong    时间: 2007-4-5 19:25
太好啦~~~~~
作者: hapliu    时间: 2007-4-6 17:23
标题: 手工测试是否是到了该淘汰的地步了
答案当然是否定的了.手动测试依然占据着十分重要的地位.当然在一个十分完善的自动测试工具面前,手动测试显得是那么无力.用时长,容易以后,测试人员容易出现懈怠心理.回归测试困难,等等诸多缺点.
作者: faith531    时间: 2007-4-9 16:22
标题: 为什么
你们 怎么什么都会呀?厉害
作者: nihao521    时间: 2007-4-11 00:17
没感觉,作了一年
作者: yuandjing    时间: 2007-4-11 17:25
我工具用下来觉得功能测试用Quick Test Pro
                        性能测试用Load Runner最好
作者: sunxy5291    时间: 2007-4-18 08:53
太棒了
ok
作者: icetea_plh    时间: 2007-4-19 16:13
sdlkfj5 路过,学习ing
作者: 魔羯座howe    时间: 2007-4-20 10:01
顶一个!
也顶31楼.
目前国内软件测试行业真是异常尴尬啊
大家都知道软件测试,可明显还没有引起足够的重视.
我们公司算是比较大比较正规的公司,虽然有专门的测试人员,
但是技术依然停留在手工的黑盒测试上面.
作者: wangxi06    时间: 2007-4-26 16:19
hen  hao a !
作者: 孤独无心    时间: 2007-4-26 19:17
标题: 怎么样才能找到软件测试方面的工作
找工作找了都一个月了,还是没有什么头绪
怎么办呢?
作者: 孤独无心    时间: 2007-4-26 19:20
标题: 原来做硬件测试的,想转行做软件测试,怎么才能更快的找到这方面的工作呢
我是06年毕业,学的是计算机,想做软件测试方面的工作,该怎么找这方面的工作,都要求什么?
哪位能给予我于指导吗
作者: huazi1026    时间: 2007-4-29 16:31
标题: 回复 #1 songfun 的帖子
我是测试新手,自学什么测试工具好啊?我主要做黑盒测试的
作者: kevin1984    时间: 2007-4-30 17:25
谢谢斑竹
作者: vivi_0727    时间: 2007-5-6 17:00
有用LabVIEW的没?
作者: happylimuzi    时间: 2007-5-11 16:00
谢谢斑主sdlkfj5
作者: 巩员外    时间: 2007-5-11 16:47
黑盒测试的操作步骤
  这个问题能不能解释的更加详细点呢!
作者: dlll520    时间: 2007-5-16 10:18
新手前来报道!~谢谢帮主的帖子咯~!
作者: qicyt1812    时间: 2007-5-18 10:49
谢谢斑竹,偶现在刚刚进行自动化测试的学习,请问要注意些什麽呢?真诚的等待您的答复sdlkfj9
作者: 口罒x!n乁ヤ    时间: 2007-5-18 12:07
谢谢斑竹指导
作者: liulinzhu    时间: 2007-5-18 15:52
谢谢斑竹!!!
我也想咨询一下,我的公司主要是嵌入式开发,对日外包比较多,我应该怎样选择测试用具?
作者: myagent    时间: 2007-5-23 14:11
谢谢斑竹!
作者: impulse    时间: 2007-5-24 16:31
本人想做个自动化测试工具,寻求志同道合之人
作者: impulse    时间: 2007-5-24 16:32
联系方式
QQ:383449048
MSN:[email]jiangkang_3@hotmail.com[/email]
作者: tjpuwwjwwj    时间: 2007-5-25 13:09
标题: 怎样提高我的综合指数?
怎样才能提高综合指数啊,有很多资料都没法下载,为什么一开始我的综合指数低于0呢
作者: 小光    时间: 2007-5-25 13:17
辛苦啊,支持不用下载的文章:)
作者: yzx0324    时间: 2007-5-26 12:12
在做黑盒测试
作者: U2GIGN    时间: 2007-5-28 14:13
感谢 lz 5个阶段@
作者: lyat51    时间: 2007-5-28 14:24
标题: 有点不同的声音
感觉怎样做好测试不是简单的一句自动话测试的问题。而是看问题的高度,如果你的公司是做一个系列的产品感觉有测试工具那就最好不过了。但是目前国内产品的质量大家有目共睹,如果你的公司是做项目类型的,一个项目做完了就做其他的项目的话,为测试工具耗费的人力物力绝对不是少数。工具只是冰山一角而已。
作者: liulinzhu    时间: 2007-5-28 14:46
谢谢版主,对我来说真是受益匪浅啊。
作者: cyh10    时间: 2007-5-29 13:39
标题: Robot
对于现在的市场上,还没有什么测试工程师培训的吧
作者: 蜜香豆810    时间: 2007-5-29 14:14
sdlkfj3
好好学习一下~~
作者: nienie    时间: 2007-5-29 22:51
标题: 谢谢
楼主辛苦了,谢谢楼主!
作者: sunjlok    时间: 2007-5-30 15:14
标题: 回复 #1 songfun 的帖子
谢谢啊,我也是刚刚入门,多指教
作者: 汤涛    时间: 2007-6-4 15:24
标题: 回复 #2 Song 的帖子
斑竹!!
黑盒测试在软件测试过程中占了多大比例呀???sdlkfj1
作者: coletan    时间: 2007-6-9 00:13
黑盒还有密码哦,哈哈··看看先
作者: LEONACHANG    时间: 2007-6-11 10:33
晕哦
作者: chsy5896036    时间: 2007-6-13 11:54
看来  很好 我也是新手
作者: yeqiuangel    时间: 2007-6-15 18:21
刚入门新手,学习中
作者: stjd139    时间: 2007-6-24 12:23
标题: 回复 #1 songfun 的帖子
谢谢了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2