Chinaunix首页 | 论坛 | 博客
  • 博客访问: 93107
  • 博文数量: 20
  • 博客积分: 1450
  • 博客等级: 上尉
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-14 10:43
文章存档

2010年(20)

我的朋友

分类: IT职场

2010-04-14 09:49:53

不熟悉业务是黑盒测试的悲哀
李守亮  2008-7-4

 

业内一位朋友突然甩给我一个问题:在电梯里,电梯突然停止了,你觉得是哪些原因?

我一愣,如果不是脑筋急转弯的话,这便是一个典型的黑盒测试问题。如果仅仅为了考察测试思维的话,我不认为这是个好问题。但该问题确实耐人寻味,作为一篇文章的命题还是不错的。因为,从这个问题里,折射出了一个黑盒测试的悲哀。 

作为电梯的一般用户,在完全不了解其运行原理的前提下,面对的只是几个按钮,要猜测是哪些原因导致电梯停止运行?确实有些尴尬。正常的第一反应可能是:电梯停下来,已经正常到达预定楼层,下一步门应该开了。但如果电梯已停止,门也打不开,怎么办?按开门按钮。按开门按钮也不开,下一步的反应就是出故障了。可是出什么故障了呢?对,这就是刚才的问题。 

怎么回答呢?
    作为非电梯专家的一般用户(好比最终用户或客户思维),只能去尝试和猜测。首先看看照明灯和按钮键灯以及紧急呼叫是否正常?如果这些设施也都出现故障,那很可能是停电了。如果没有停电,再能想到的就是机械故障,哪里可能被卡住了。 

如果这个问题是在考察测试思维的话,强迫一个不了解电梯运行原理的人去想(好比不了解业务的测试工程师做黑盒测试),他第一反应就是原因实在太多了!却如何也讲不清楚。只能根据有限的已知常识进行大概分类,如:电力故障、机械故障、机电故障、程序紊乱,甚至连火灾地震这种极端情况也先搬出来应付。 

如果乘坐过透明的观光梯,直观地了解了一些电梯的构造和运行原理后(好比对业务有较深入研究的测试工程师),就能能讲得更具体一些。例如可把机械故障细化为:联动装置故障、缆绳故障、传感器故障、电磁铁故障等等;电力故障可细化为:是电梯内还是电梯外故障?电梯内的话,是电梯的某处短路还是断路?是被误按了紧急制动的组合键还是按钮接触不良等等。如果观察的足够细致,还能联想到更多更多的故障原因。 

如果是名电梯的设计工程师(好比开发人员,可能不恰当,仅供理解),熟悉电梯的运行和防护原理,他知道任何环节出现问题都会导致电梯停止运行。因此,他坐在办公室里,就能把电梯停止的可能性原因讲的头头是道,并且每种原因都能讲上一大篇理论。但由于受思维定势的影响,他若被关在故障电梯里来猜测具体是哪种原因的话,估计他并不如电梯维修工程师。 

作为一名经验丰富的电梯维修工程师(好比具有丰富业务知识和测试经验的测试专家),除了懂得电梯的设计和运行原理外,还有许许多多的实战秘籍。面对电梯的突然停止,仅根据表面现象就能马上判断出是机械故障,还是其他故障?继而根据电梯所处的状态(如倾斜程度,抖动震动、声音等)进一步缩小范围,迅速锁定在某一环节。再根据业务经验,就能很快准确地定位出具体原因。 

引申:一名优秀的电梯检修工程师改行去做汽车检修(好比测试更换业务方向),虽然有机械、线路、油路的检修经验(测试经验),但在新业务尚不熟悉的初期,照样会遭遇水土不服。
 

由此产生的感悟是:熟悉业务知识,是做好黑盒测试的必要的条件。如果对业务不熟悉,也不了解软件的需求、设计和运行原理,那便是黑盒测试(人员)的悲哀——不管是手动还是自动。

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