測試的第一重境界:圍著Bug轉
“意 識決定行動,行動決定結果”是管理學中眾所周知的名言。做測試的前幾年,筆者并沒有這個意識,也沒有主動地去思考過這個問題,但隨著一個個項目任務、一樁 樁事件的歷練,慢慢感悟到這句話也適合對測試工作境界的理解。“心態決定命運”,“態度決定一切”,有很多名家學者都寫過這方面的書籍,基本上已成了我們 不可否認的真理了,但是要真正應用在自己的工作生活中,恐怕就不那么簡單了。誠然,測試工作,除了需要擁有過硬的測試技術外,還必須有正確的測試心態,也 正是這些心態意識左右著你的日常工作。不同的心態反映了不同的測試境界高度,最終體現出不同的結果。
圍著Bug轉,是測試三重境界中的第一重。概括起來,它又可以分為三個階段,第一,發現Bug;第二,定位Bug;第三,關閉Bug。這三個階段對測試人員 的要求不僅在技術上需要逐層遞進,在綜合素質上也提出更高的要求。三個階段之間環環相扣。直到Bug的生命周期結束。圍著Bug轉的三個階段對測試人員的 要求及Bug被發現到關閉的生命周期示意圖。如圖2-1所示。
圖2-1 圍著Bug轉的三個進階圖
談到圍著Bug轉的的三個階段,不禁想起中國近代著名學者王國維在《人間詞話》中提到的人生的三重境界:
“昨夜西風凋碧樹,獨上高樓,望盡天涯路”。
“衣帶漸寬終不悔,為伊消得人憔悴”。
“眾里尋他千百度,驀然回首,那人卻在燈火闌珊處”。
細細思量,感覺它們之間亦有異曲同工之處。
第一重“昨夜西風凋碧樹,獨上高樓,望盡天涯路”是說“古今之成大事業、大學問者,首先要樹立明確的目標,即使長路漫漫,也下定決心將這條長路走下去。這是一個人在孤獨之中尋找理想、尋找生命的落腳點的痛苦時刻”。圍著Bug轉的第一階“發現Bug”,同樣首先必須有明確清晰的目標,找Bug的過程是漫長的,反反復復、枯燥無味是工作的特點,但是為了達到目標“長路再漫漫,也得堅持走下去”,直到找到一堆堆的Bug。特別是對一些偶現的嚴重Bug,重現Bug的過程真如大海撈針,但是堅持就是勝利。筆者曾經在經歷的一個項目中,花了近1個月的時間去重現與解決一個嚴重問題,最后在與開發人員的緊密合作下,終于找到問題的根源。
第二重“衣帶漸寬終不悔,為伊消得人憔悴”是說“執著的追求、忘我的奮斗,直至憔悴消瘦,連衣服都變得寬大,這一切努力都是為了心中的夢想”。對應軟測中圍著Bug轉的第二階“定位 Bug”。 這一階段不僅在技術上提出了更高的要求,還要有刻苦鉆研、窮追到底、不撞南墻不回頭的執著精神,直到把問題的原因搞清楚才罷休。在國內目前的測試領域,大 部分公司這一步并沒有要求測試人員來做,但是在國外,特別是一些知名的大公司,如在微軟,幾乎所有的測試人員都擁有深入調試程序的技能。它除了包含以最短 路徑重現問題,還要分析問題的可能結果(例如分析Bug會影響到哪些模塊),甚至給開發人員提出解決方案。顯然,這一步要求測試人員要比開發人員具有更高的設計分析能力、代碼調試能力、解決問題的能力。讀者朋友,看到這里,對一些測試專業網上??吹降?ldquo;測試人員是否要懂編程”這一問題已釋然于懷了吧。
第三重“眾里尋他千百度,驀然回首,那人卻在燈火闌珊處”。這一階段是指經過不斷磨煉,多次的失敗,某一時刻忽然靈犀一點,領悟真諦,發現自己想要的東西原來就在自己的身邊或領悟后的心里。在旁人看來,他的“驀然回首”是如何偶然而幸運,但其背后的用功之勤、平時的積累之深,又豈是常人所能堅持,所能想象的呢?這時候,世俗目標是否已經達到已不再重要,重要的是靈魂的解放和心靈的歸屬。對應圍著Bug轉的第三階“關閉Bug”,如果僅從字面理解,很簡單,不就是開發解決了Bug,回歸Bug,然后把Bug關閉。如果是這樣,筆者認為這種觀念仍屬于第一階。第三階的關閉Bug,是指測試人員提交一個Bug后,要有主動意識推動開發人員解決問題,并協助他們解決,只有問題解決了,軟件的質量才得以提高,測試人員的最終目的才能達到。提交的有些問題嚴格來說,它不屬于Bug, 而是一種設計缺陷,此時測試人員該怎么辦呢?需主動召集相關專家進行其影響面的風險分析,并跟進此問題的整個解決過程,如果風險點涉及其他專業的更改(如 嵌入式軟件涉及硬件、機械等方面的知識),可能需要專門成立一個專項問題解決團隊,以全面解決此問題,直到各專業方向的問題解決到位,回歸驗證完成,此 Bug方能關閉。站在Bug的生命周期角度分析,一個Bug由被發現的起點,走到被關閉的終點,才是一個合理的、完整的過程,如圖2-2所示。但是要達到這一層,很可能有一大部分的工作已完全脫離了純軟件測試層面的工作,可是測試的最終目標不就是給用戶一個高質量、信得過的產品嗎?我們需要有這樣的大氣胸懷,才能把產品的測試工作做得更深遠、更寬闊。
原文轉自:http://www.uml.org.cn/Test/201306184.asp