從閆輝的部落格看到的文章:http://blog.csdn.net/superyan/archive/2006/05/22/748921.aspx。其實我的評價很簡單:不是人中龍,不要做測試。普通人做測試沒有前途。原因也很簡單。讓我們做個小測驗:10秒鐘,快!舉出你的10個偶像。裡面有靠做測試揚名立萬的嗎?要求太高了?那好,舉出10個你最常讀的部落格。裡面有做測試的嗎?我的必讀部落格裡倒有兩個是專做測試的。可惜他們的文章都和開發有關。換句話說。他們的專業不是測試。他們是程式員,而他們的業務領域是測試。不過這個話題我們押後再說。這個測驗沒有普遍意義?那好,讓我再舉一點某業界龍頭公司的例子。該公司有大概50個院士。猜猜多少個是搞測試的?讓俺告訴你:1個。就這個也是特殊情況。該院士負責某個大型作業系統的系統測試,對系統瞭解的程度已經到了客戶每次來訪都點名要見他的地步。所以這個例子旁證了不要輕易做測試的論斷。院士以下是Distinguished Engineer(DE),DE以下是Senior Technical Staff Member(STSM)。該公司一個2000來人的研發實驗室裡10來個STSM,四五個DE,其中有多少是測試出身?答案是0。STSM以下是Senior Developer(SE)。那個實驗室一個部門兩百多號人,其中測試部門測試人員近百。裡面非經理的SE有多少?答案還是0!再看一個資料。那個部門的測試分部過去三年的專利數加起來還沒有一個組一年的專利多。品質就更不用提了。而且要知道,這個公司已經非常重視測試。他們的測試人員工資也好頭銜也好,都和開發人員一個等級。公司有專門的測試部門。測試部門有充足的預算。測試有嚴格的流程。每年公司都有針對測試人員的名目繁多的獎勵。公司裡外的政策都宣傳測試人員有前途,測試人員和開發人員同等重要。但那又如何?同樣做技術,搞測試的獲得提升的機會就比做開發的小得多。你怎麼和別人比?發表的文章比人少,得到的專利比人少,拋頭露面的機會比人少,討論產品規劃設計的機會比人少!現實擺在面前:如果普通人有志於技術,做測試就是死路一條。
大部分人做的測試工作都是黑箱測試。項目一緊,大部分工作時間都花在單調重複的滑鼠敲擊上了。經理們不會認為你的工作有什麼難度。既然沒有難度,為什麼要表彰你的工作?是,測試裡仍然有挑戰性。問題是,你得在做完手頭的工作後,花額外的時間,才有機會去做那些“有挑戰性的工作”。以前我在測試部門時,人人受提拔的機會都來自於完成所謂的“擴充項目”。這難道不諷刺嗎?做完手頭的測試工作是你的天職。要想得到表彰?做與測試無關的項目吧!我進公司那年年末測試部門裡得到最高評價的測試員根本就沒有做測試。他負責開發我們的自動化架構。你完全可以想象這件事對我們士氣的打擊:原來要想掙表現,就不要做測試!第二年測試人員為搶”擴充項目“不惜耽誤測試,不用我說大家也能猜到吧?
有人或許說,找到隱形錯誤不是件容易事,也需要天賦,也需要努力。非常正確!可惜,經理們不懂。他們也沒法衡量你的績效。程式錯誤少了,是程式員開發得力。軟體發布後沒有多少錯誤,是你該做的。軟體發布後有很多錯誤,你他媽怎麼做的?換言之,沒人知道你到底為發現一個錯誤付出了多少。沒人關心一個錯誤的重要性。這也正常:當錯誤被發現,這個錯誤也就不再神秘。人們也就想當然地認為這個錯誤很容易被發現。既然很容易被發現,那關你測試員什麼事呢?
做測試還想保持技術上的精進就更不容易。專家是在征服挑戰,學習教訓的過程中反覆磨練出來的。當你把青春拋灑在反覆敲擊滑鼠左鍵的時候,你的同事正在為一個演算法問題殫精竭慮,正在為一個設計問題激烈討論。當你的汗水滴在千篇一律的測試文檔上的時候,你的同事正在為一門新技術的規格書字斟句酌。長此以往,誰會站在技術的領跑線上?而我當測試員時聽過的最大的謊言就是“程式員只知道某個具體模組的實現,而測試員和多個模組打交道,有大局觀”。謊言,不折不扣的謊言!做了程式員就知道,測試人員知道的你都得知道。他們不知道的,你也得知道。既然當程式員能學到更多東西,為什麼要做測試員?
不要以為我瞧不起測試。恰恰相反,我覺得測試事關軟體成敗,至關重要。我只想說,現在少有公司能給予測試人員正確的待遇。衡量測試員工作比衡配量序員的工作更加困難(大概這也是為什麼startup裡測試員反而又前途吧,因為他們的工作表現能被相對容易地公正評價)。許多優秀的測試人員看不到光明的前途,紛紛離開測試部門,甚至轉行,遭受損失的只是公司。
寫下這點小小的感想,也算紀念我做測試那一年半的酸甜苦辣。