MILY: 楷體_GB2312">經過這幾年的發展,國內IT公司的測試水平有了很大的提高,但是與此同時,很多測試工程師也迎來了個人的發展瓶頸:很多人從測試工程師做到了測試經理的職位,不知道下一步如何發展;或者每天機械地從事著功能測試工作。
本文首先從分析測試工程師的發展現狀和職業化過程遇到的問題入手;接著分析什么樣的測試人員才是合格的;最后介紹測試人員的職業歷程以及如何突破自己的職業發展瓶頸。
1 測試工程師帖子解析
下面是在一些測試網站上收集的帖子,主要是一些測試工程師介紹自己的成長歷程或者對測試行業的看法。從這些帖子中,我們可以看出測試工程師職業發展遇到的一些問題。
帖子一:踏實地發展自己
我在北京工作有4年了。職業發展依次經歷了測試員-測試工程師-測試分析師-測試經理。這就是我在北京的4年測試生涯。個人對測試工作有如下的觀點:
1)軟件測試不像一些人看起來那么簡單,需要相當深厚的技術背景。但只要掌握要領,也不像我們一些人所認為的那么困難;
2)測試工程師和開發人員相比,可以有機會接觸更多的、不同行業的項目,是一個大的優勢。
3)測試工程師要想成功,更多的是靠平時的積累。不管是項目的積累,還是平時學習,兩者都至關重要。
4)測試工程師要充分利用網絡資源,與同行們充分交流,在互相幫助和學習的氛圍中,可以加快自己成長速度。
點評:這是一位比較踏實的測試工程師,一步一個膠印地走著自己的測試之路,我們可以認為他是相對成功的典范,F實中我們很多測試工程師不是抱怨工資低,就是抱怨自己公司的測試環境不好。如果要想在測試領域走向成功,重要的秘訣就是踏踏實實地學習,認認真真地做好本職工作。
帖子二:執著的測試工程師
我做測試工作快6年了。剛開始的時候,我是公司的第一個測試員,雖然公司也在做ISO9000,但是什么規范都得自己摸索?墒,我仍然堅持下來了,而且大有收獲,雖然在公司里不受重視。
但是隨著測試工作的不斷深入,自己對公司的主流業務(我們作的是行業軟件)從外行變成了內行。而且還發現了一些產品的設計方面的欠缺,在老板和開發主管面前樹立了自己的一些威信。至少在一些項目進行需求分析的時候,會來征求我的意見。而且,目前做到了不經測試的產品不給客戶。當然,在我和開發經理發生分歧的時候,大部分時間老板還是支持開發經理,但我認為是正確的地方還是會據理力爭的。
一句話,測試人員是孤獨的,寂寞的。但只要堅持,總能有收獲的,尤其是在發現了隱藏很深的一些BUG的時候,那種成就感和自豪感真的是一種很好的感覺。
實際上,做任何一行工作,都會遇到不公平。但為什么要去跟別人比呢,只要自己有提高,就是好的。
點評:“敢做冷板凳的人”才是勇敢的人,這位發帖子的測試工程師不但有勇氣坐了冷板凳,而且能夠堅持下來,直到取得了不錯的成績!實際上,做任何一行工作,都會遇到不公平。但為什么要去跟別人比呢,只要自己有提高,就是好的。”幾句樸實無華的話說出了如何做好測試工作的真諦。
測試人員一定要給自己正確的定位,既然選擇了目前地位有些低的測試工作,就應該踏實的做好,這是走向成功的必由之路。
帖子三:好學而有信心的新手
我在一家外企作了一段時間的兼職測試,之前我從未接觸過測試。開始的時候只作一些Manual test,后來就開始做Automated test,修改原有的test cases,或者重寫一些test cases。然后test小組的leader建議我寫測試文檔,他說寫文檔有利于一個tester技術水平的提高。因為你必須要熟悉軟件項目的整體框架,洞悉軟件深層的結構才能寫出高質量的測試用例。
于是,我在網上查了一些關于測試方面的資料,發現測試真的很重要。對一個軟件項目而言,老外對軟件測試尤其重視。我兼職的這個外企是有一半的員工是測試的,大概有7、8個人。個人認為,國內的軟件企業對測試的重視程度還不夠,但是毋庸置疑,測試是軟件企業產品線上和開發同等重要的?梢灶A言,未來的國內軟件行業,軟件測試人員可能會占據軟件團隊半數左右。同時,對測試人員的能力要求也是比較高的。
綜上,我覺得Software test很有前途。當然,這些都是一個測試新手的看法,可能比較片面,全當給大家打打氣了。
點評:可以看出這是一位很有遠見的測試工程師,F實中很多測試工程師是由于不能從事其它工作才從事測試的,因而工作中也是不斷地抱怨待遇、團隊環境等不能滿足自己的要求。在此建議測試工程師,如果選擇了這個行業,就應該認真地對待工作,抱怨永遠解決不了問題。只有像這位測試工程師一樣認真分析自己的行業,才可以有更好的職業化發展,否則還不如換一個自己喜歡的工作去試一試。
帖子四:郁悶而猶豫的測試工程師
我做軟件測試也有兩年多的時間了,但是在這兩年中似乎沒有太多的提高。因為都是黑盒測試,所以一般就是使用產品,最多也就是一些工具測試?墒沁@都是想到哪就測到哪,也沒有真正按照測試文檔執行。公司測的東西組合情況也很多,根本沒辦法。而且公司測試流程也不規范。
剛開始沒簽約的時候,還是專職測試,簽了以后簡直就變成打雜的了。什么都要做,連一些設計文檔都推了過來,有時候還要去現場了解客戶需求,真是非常佩服老板把一個人當三個人用的能力?偟母杏X在小公司里,根本就沒有測試員這個概念,測試員一般什么都得做。當你提出一堆建議的時候,老板總是會說,現在公司規模還不具備條件,以后會慢慢的改善的,可我感覺過兩年公司可能已經倒閉了。
真是有點郁悶,改行做開發,又不想放棄這個被很看好的職業?墒枪獗豢春糜衷趺礃幽?說不定十幾年前,掃大街的就像現在的做測試的。都是做質量保證,掃大街的要保證城市環境的質量,現在呢?他們又怎么樣?
點評:其實測試和開發一樣,都不是那么想當然的理想,國內開發環境也和測試一樣混亂。而開發人員發展到高級程序員就會成為很多人的發展瓶頸,薪資和職務都很難再提升。而測試與開發相比的一個巨大優勢在于它是一個新興的領域,擁有更多的機會,測試人員工作三五年,再有一些管理經驗,很容易做到測試主管,雖然薪資待遇相對低些,但是給個人的長期發展打好了基礎?礈柿司蛻撊プ,實實在在的學到知識才是最重要的。
2 國內軟件測試測試工程師職業發展現狀
我們可以從兩個方面來解析測試測試工程師的職業瓶頸問題:
l 從企業方面:多數企業較難招聘到滿意的測試工程師,尤其在軟件測試外包企業,人才問題成了這類企業的發展瓶頸,這些恰恰反映了整個測試行業的發展遇到了瓶頸;
l 從個人方面:很多測試人員薪資和職位到了一定階段就很難得到提升,例如很多測試工程師做到測試經理后,幾年內得不到提升。
職業發展尤其體現在待遇方面。下表是北京市一些IT企業測試工程師的月薪數據。這些數據主要從一些網站收集,由一些測試工程師發布。
職稱名 |
稅前月薪(人民幣:元) |
備注 | ||
少于100人 |
100~200人 |
200人以上 | ||
初級工程師 |
1500~2000 |
2000~2500 |
3000~4000 |
手工執行功能測試,這些人通常是一年以內工作經驗的新手。 |
2000~3000 |
2500~3500 |
一年到兩年經驗的測試工程師,工作內容通常以功能測試為主。 | ||
中級工程師 |
2500~3500 |
3000~4000 |
2500~3500 |
編寫并執行測試用例,通常工作兩年以上。 |
3500~4000 |
4000~4500 |
3500~4500 |
編寫并執行測試用例,能夠使用一些測試工具。通常工作兩年以上。 | |
高級工程師 |
4000~5000 |
5000~6000 |
6000~7000 |
熟練使用測試工具,制定測試計劃,編寫并執行測試用例等。工作經驗通常三年以上。 |
7000~8000 |
||||
測試分析師 |
4000~5000 |
5000~6000 |
6000~7000 |
具有一定分析能力的高級測試工程師。工作經驗通常四年以上。 |
6000~7000 |
7000~8000 |
|||
測試組長 |
4000~5000 |
6000~7000 |
6000~7000 |
帶領10人以內的測試小組執行測試任務。 |
5000~6000 |
7000~8000 |
7000~8000 |
帶領15人以內的測試小組執行測試任務。 |
通過上面的數據,我們可以看出:
(1) 企業規模越大,越重視測試,而測試人員的待遇也越高;
(2) 掌握測試工具的測試人員待遇往往高于那些只能進行手工測試的工程師;
(3) 測試技術越熟練,待遇越高,而具備一定領導能力的測試工程師待遇會更高些;
但是我們就整個IT行業來看,尤其是與開發人員相比,測試工程師的待遇顯得很低。就作者掌握的資料來看,同一級別的開發工程師要比測試工程師高1~2K(人民幣),甚至更多。
與開發人員相比,測試工程師的職業目標則很少,主要下面幾類:
l 測試組長(也可稱之為測試負責人、測試經理):這類測試人員通常是測試項目負責人,既要具備較高的測試技術能力,還要具備一定的管理能力。主要職責是制定測試與編寫測試計劃、監控和管理整個測試過程。測試組長職位之所以受青睞,是因為測試組長可以向上發展為測試部門經理、質量經理,也可以橫向發展為項目經理,因此通常待遇相對高些。
l 測試分析師:主要職責是對系統的測試結果進行綜合的分析,例如缺陷分析、性能分析等。測試分析師不但測試技術能力較強,還要具備數據庫、操作系統等多方面的技術知識。這類職務的發展空間也不錯,可以發展成系統設計師等。
l 自動化測試工程師、測試開發工程師:主要職責是編寫測試程序、執行自動化測試任務。這類職位的測試人員至少要達到初級程序員的能力,因為經常和程序打交道。發展空間也不錯,甚至可以發展為程序員。(在國外,這類工作多由具有開發背景的測試人員來負責。而國內的IT公司不重視測試,程序員不愿意去做待遇較低的測試工作,因此測試人員在具有一定的開發能力后,將會考慮轉行去做開發。)
但是,國內的測試人員多數在測試圈子“打轉轉”,很難進入到開發領域。多數測試人員發展成測試經理/高級測試工程師后,職業化幾乎到了盡頭。于是,出現了一些大企業的測試人員自己去創業的情形,但這種情形更是少之又少。
實際上,這一切的根本原因是由測試工程師的能力水平決定的。國內測試工程師普遍根基不牢,自然難獲得較大的發展。下面將從測試工程師的基本素質談起:只有那些基礎知識扎實、潛質較好的測試工程師才是合格的工程師。
3 測試工程師基本素質
很多年輕或者剛剛從事測試工作的工程師,經常會問:“測試工程師需要什么技能或者具有什么素質才是合格的?”與開發人員相比,測試人員不但需要一技之長,還需要掌握諸如操作系統、數據庫、網絡等多方面的知識。
根據作者多年的經驗,一個有競爭力的測試人員要具有下面三個方面的素質:
(1). 計算機專業技能
計算機領域的專業技能是測試工程師應該必備的一項素質,是做好測試工作的前提條件。盡管沒有任何IT背景的人也可以從事測試工作,但是一名要想獲得更大發展空間和持久競爭力的測試工程師,計算機專業技能則是必不可少的。計算機專業技能主要包含三個方面:
l 測試專業技能
現在軟件測試已經成為一個很有潛力的專業。要想成為一名優秀的測試工程師,首先應該具有扎實的專業基礎,這也是本書的編寫目的之一。因此,測試工程師應該努力學習測試專業知識,告別簡單的“點擊”之類的測試工作,讓測試工作以自己的專業知識為依托。