在經歷了長期的不為人知和可有可無后,軟件測試工程師目前已變的炙手可熱。地位變遷的背后推手,是市場競爭的日益激烈和軟件企業以及用戶成熟度的不斷提高。
作為一個軟件測試的專家,清華大學教授鄭人杰20年來的經歷頗有一些戲劇性。
鄭人杰首次因為軟件測試為人所知,是在1980年代初期。當時清華大學從日本富士通公司引進了一臺型號為M150的計算機,日本人以人手不足為由,要求中方做一個基于FORTRAN的動態軟件測試工具。
“我們當時就是考慮不能給清華、給中國丟臉,一種非常樸素的愛國心態。”鄭人杰說。一年以后,他們提交了這個測試軟件,而且順利通過驗收。日本人也出乎意料,《讀賣新聞》也在頭版頭條撰文,稱“日本富士通公司從中國進口了高水平的軟件”。中國的《參考消息》也加以轉載。
此后,鄭人杰一直投入在軟件測試領域的科研。1985年他翻譯出版了Glenford J.Myers 的《計算機軟件測試技巧》一書,此后1992年又自己編寫了國內第一本軟件測試教材《計算機軟件測試技術》。遺憾的是,幾乎沒有產生任何反響。
而現在,書店里已經有了許許多多關于軟件測試方面的書籍。出版社邀請鄭人杰再版他的《計算機軟件測試技術》??墒?ldquo;我已經70歲了,沒有精力了。”鄭人杰說。
從Monkey測試到跑步上崗
即使在2003年,人們對軟件測試還是有著不少誤解。“很多測試其實只是Monkey測試。”周峰說,“就像猴子跳上鍵盤,蹦來蹦去,偶然踩到了某一個健,或者就能夠發現一個兩個Bug(缺陷)。”
周峰之前是華為的資深軟件測試工程師,目前是上海博為峰軟件技術有限公司、無憂測試網(51testing)的創始人之一,他的工作,就是培訓一批又一批的軟件測試員。
他表示,很多人認為軟件測試只是在軟件編寫完成以后通過簡單使用發現Bug,沒有什么技術含量,甚至臨時從車間廠房里拉出來的女工也可以承擔。
而事實上,在國外許多國家的軟件公司,軟件測試工作已經逐漸演變成一門獨立的科學,包括了配置方案、測試機制、跨平臺策略和產品性能、穩定性等獨立區域的知識模塊。
同時,軟件測試員需要參與包括需求分析—設計—編碼等所有軟件開發環節,盡可能地發現每個環節可能存在的Bug。“這是一個要求非常高的職業。”鄭人杰說。因此國外的軟件測試工程師基本上都是由從業多年的開發工程師轉變而來。
不過,現在軟件測試的重要性已經逐漸獲得認可。根據51testing提供的一份調查報告,目前近91%的國內軟件企業配備了測試隊伍,更多的企業通過軟件測試來提高自身的軟件產品質量??傮w上,69%的企業認為通過測試后軟件質量得到很好提高。
而所有的招聘網站都開始發布同樣的信息:軟件測試工程師供不應求,企業招聘不到合格的人才。智聯招聘一篇文章稱,“從入門級的初級測試工程師到高級測試工程師以及項目Leader全線短缺”。
國家勞動和社會保障部也在3月份發布信息,稱未來幾年軟件測試員這一職位,將會產生大量的市場需求。
國家應用軟件產品質量監督檢驗中心副主任吳鑄成告訴記者,國外小一些的軟件企業,軟件開發與測試人員之比基本上是1:1。微軟公司是1:2, windows2000 操作系統在研發過程中甚至使用了250名項目經理、1700名軟件開發工程師、3200名軟件測試工程師。
但相較而言,中國的大型軟件企業如神州數碼、東軟等,比例較高,達到了4:1。而其他一些企業,只有10:1。
群碩軟件開發(上海)有限公司人事經理賈笑妍的一項重要工作,就是招聘測試人員。但是,由于大學教育的缺失以及企業自身積累的不足,“要找到資深的從業人員,很難。”即使被招收的人員,也要在上崗前先接收公司3個月的培訓。
巨大的市場空缺,使得從初級軟件測試工程師,到高級軟件測試工程師,再到測試經理,這個在國外需要耗費10年左右的職場歷程,在目前的中國,只需要3年甚至更短的時間。
“大家都在跑步上崗。我們的一個學員,甚至剛畢業就被一家公司聘為測試項目組負責人,要求他為公司建立一整套的測試規范。”周峰說。
而跑步上崗的結果,就是周峰的培訓業務蒸蒸日上, 51testing 的會員達到了4 萬多人,成為全國最大的軟件測試虛擬平臺。
軟件測試火熱的背后
軟件測試工程師地位“翻天覆地”的變化,源自信息產業的發展以及軟件企業自身、用戶成熟度的不斷加深。
“一方面,計算機使用越來越普及,越來越多的領域使用了計算機,特別是一些重要領域如國防、銀行、金融、通訊、航天等,他們對軟件質量要求很高。”鄭人杰告訴記者,同時出現的一些問題,也引發了人們對軟件質量的關注。 比如2002年歐洲載重10噸的阿麗亞娜5型火箭發射失敗,最后證實是軟件質量問題。而這導致了整個航天計劃的推遲。同時,國內的一些銀行金融系統,也會因軟件質量問題不得不暫停營業。
吳鑄成表示,在軟件業高速發展的同時,軟件質量問題越來越突出,甚至成為軟件產品研發和信息化發展中的一個制約因素。
他表示,國外的軟件測試經費,一般會占到整個項目費用的30%~40%。而中國的軟件企業90%都是中小企業,產品研發要受資金、工期和質量三個方面的制約。在資金緊缺和工期緊迫的情況下,唯一可以擠壓的就是質量。
“用戶成熟度不斷增加,對產品的個性化以及安全等方面有更高的要求。如果產品在使用中如果出現各種各樣的問題,只能通過維護解決。那么市場就不會選擇這個產品。”鄭人杰說。
一旦將質量問題轉移給維護,周峰稱,就會忽略開發過程中需求分析——設計——編碼階段可能產生的Bug。這些Bug會逐漸放大,最后擴散到整個系統中,不僅很難尋找到,而且修復代價更高。
“也就是說,你在銷售軟件時獲取的利潤,會在之后的維護中逐漸被消耗殆盡。”周峰說。這對企業來說,顯然不是一個明智的、可持續的選擇。
群碩軟件開發(上海)有限公司主要是針對歐美市場為客戶提供嵌入式系統、工具軟件、企業軟件和用戶解決方案等外包服務。“歐美客戶成熟度較高,對產品質量要求更高。”賈笑妍說,為了滿足客戶對質量的高要求,他們從公司成立之初就開展了CMM(能力成熟度模型)的認證。
原文轉自:http://www.anti-gravitydesign.com