業內一位朋友突然甩給我一個問題:在電梯里,電梯突然停止了,你覺得是哪些原因?
我一愣,如果不是腦筋急轉彎的話,這便是一個典型的黑盒測試問題。如果僅僅考察測試思維的話,我不認為這是個好問題。但該問題確實耐人尋味,作為一篇文章的命題還是不錯的。因為,從這個問題里,折射出了一個黑盒測試的悲哀。
作為電梯的一般用戶,在完全不了解其運行原理的前提下,面對的只是幾個按鈕,要猜測是哪些原因導致電梯停止運行?確實有些尷尬。正常的第一反應可能是:電梯停下來,已經正常到達預定樓層,下一步門應該開了。但如果電梯已停止,門也打不開,怎么辦?按開門按鈕。按開門按鈕也不開,下一步的反應就是出故障了?墒浅鍪裁垂收狭四?對,這就是剛才的問題。
怎么回答呢?
作為非電梯專家的一般用戶(好比最終用戶或客戶思維),只能去嘗試和猜測。首先看看照明燈和按鈕鍵燈以及緊急呼叫是否正常?如果這些設施也都出現故障,那很可能是停電了。如果沒有停電,再能想到的就是機械故障,哪里可能被卡住了。
如果這個問題是在考察測試思維的話,強迫一個不了解電梯運行原理的人去想(好比不了解業務的測試工程師),他第一反應就是原因實在太多了!卻如何也講不清楚。只能根據有限的已知常識進行大概分類,如:電力故障、機械故障、機電故障、程序紊亂,甚至連火災地震這種極端情況也先搬出來應付。
如果乘坐過透明的觀光梯,直觀地了解了一些電梯的構造和運行原理后(好比對業務有較深入研究的測試工程師),就能能講得更具體一些。例如可把機械故障細化為:聯動裝置故障、纜繩故障、傳感器故障、電磁鐵故障等等;電力故障可細化為:是電梯內還是電梯外故障?電梯內的話,是電梯的某處短路還是斷路?是被誤按了緊急制動的組合鍵還是按鈕接觸不良等等。如果觀察的足夠細致,還能聯想到更多更多的故障原因。
如果是名電梯的設計工程師(好比開發人員,可能不恰當,僅供理解),熟悉電梯的運行和防護原理,他知道任何環節出現問題都會導致電梯停止運行。因此,他坐在辦公室里,就能把電梯停止的可能性原因講的頭頭是道,并且每種原因都能講上一大篇理論。但由于受思維定勢的影響,他若被關在故障電梯里來猜測具體是哪種原因的話,估計他并不如電梯維修工程師。
作為一名經驗豐富的電梯維修工程師(好比具有豐富業務知識和測試經驗的測試專家),除了懂得電梯的設計和運行原理外,還有許許多多的實戰秘籍。面對電梯的突然停止,僅根據表面現象就能馬上判斷出是機械故障,還是其他故障?繼而根據電梯所處的狀態(如傾斜程度,抖動震動、聲音等)進一步縮小范圍,迅速鎖定在某一環節。再根據業務經驗,就能很快準確地定位出具體原因。
由此產生的感悟是:熟悉業務知識,是做好黑盒測試的必備的條件。如果對業務不熟悉,也不了解軟件的需求、設計和運行原理,那便是黑盒測試(人員)的悲哀——不管是手動測試還是自動測試。
文章來源于領測軟件測試網 http://www.kjueaiud.com/