技術人員何去何從之四:對測試人員的忠告
1) 測試不如開發。
我問過很多做測試的人,你為什麼要做測試?有人告訴我,因為我當年畢業的時候沒有找到開發的崗位所以改為應聘測試;也有人說,因為我的開發能力不強,所以才作測試;還有人說,因為我不想做開發,感覺開發太累,所以選擇了測試。總之一句話都是做不了開發,才會考慮測試。
2) 外包測試是需求的主要形式
不管外包測試對中國的軟體工程發展會起到什麼樣的作用,至少目前更多的測試崗位的需求來自於外包公司,比如,文思,博彥,中軟等,他們的主要業務是承接微軟,IBM,HP等公司的測試任務。由於需求量大,業務內容比較單一,因此他們會大量招聘高校畢業生進入到相應的測試崗位中,而且近幾年有學校越來越好,學生越來越優秀的趨勢,畢竟因為有些崗位有對英文的需求,而且公司員工的學歷層次對公司的全球業務拓展有非常重要的意義。不管怎麼說,由於這些外包公司的努力,目前測試人才隊伍的整體人才素質有所提升。
但因此也產生了一個問題:外包測試的技術含量一般不高,而且往往只是整個產品或者專案的一部分,對業務也缺乏整體的把握,幹個兩三年之後,就會感到很無趣,但這個時候,外包以外的測試需求往往與外包測試不同,而且相對需求並不是太多,在競爭中何去何從,感覺到茫然也在情理之中了。我曾經看到很多為HP做印表機測試工作的簡歷,都是想哈工大,北郵這樣的好學校,英語也好,在某外包公司工作了三年,期望薪水8K,往哪裡換呢?至少我手裡一時沒有合適他們的崗位,原因是業務型別不匹配,薪水要求太高!我還有一個候選人做C#開發的北航的研究生,我推薦他到某公司做開發工作,但他渴望微軟的工作環境,而去了某外包公司做微軟產品的測試工作,當時他們的薪水已經可以達到9K了,兩年以後,因為感到工作技術含量太低而希望離職,我再次把他推薦到兩年前曾經推薦過的那家公司,面試後公司的反饋是為什麼兩年了,技術沒有長進,倒好像還退步了?!不過他們還是錄用了他,薪水沒有漲,還是那麼多,但這個候選人目前在這個開發公司做的非常好,各方面都得到了很大的提升。這兩個案例都不得不引起我們的深思。
應該說在測試這個崗位上,個人的困惑只是行業困惑的一種具體表現形式而已。測試工作從開始到今天時間也並不是很長,測試理論和測試工具還在逐漸完善之後中,他們中的很多內容對我們這個以專案為主要型別的軟體市場中,還顯得過於深刻和比較難於實現。但是規範化的步伐是不可能逆轉的,雖然在前面我們看到了太多消極的例子,但是任何事情都是逐漸完善起來的,就像我們的三一五打假,打了二十年了,雖然假貨還有,但可喜的是人們的打假意識已經有了很大提升,我們的市場秩序一天比一天好,消費行為變得越來越有保障一樣,對於測試工作而言,用不了很長時間,一定會成為和開發同等重要的部門。這種跡象現在已經開始顯露,比如網際網路的龍頭企業Sohu,不僅有規模龐大的測試部,而且像人力資源部這樣的服務支援部門也獨立相應得分支出專門為測試部服務,足以見得公司對測試的重視;其他產品型別的公司更是如此。因此作為職業顧問,我還是非常看好測試這個職位在今後的發展空間的,但關鍵在於,目前的測試人員需要在今天做好怎樣的準備,才能跟上明天需求的發展。我希望可以通過對目前市場需求的具體分析和目前一些測試人員的發展給大家一些建議,僅供參考。
1)技術專業化的對測試崗位的提升
目前有幾家專案型公司希望我幫助他們招聘一些好一些的測試人員,除了有必要的測試經驗以外,要求對某種技術語言有了解,比如Java; C#; 還有的要求更高,需要對linux系統有深入的瞭解。其原因在於他們的系統以及要測試的產品跟這些技術緊密相關。這樣的要求就將很多測試人員拒之門外了。比如我說做HP印表機測試的人員,做在長時間也很難滿足這樣的需求,還有很多一直以做功能測試為主的人員,也很難滿足要求。很多人認為測試沒有技術含量,其實是大錯而特錯了,很多測試需要編寫測試指令碼,需要理解複雜的程式碼,因此和開發一樣,明確的技術方向對今後的發展是非常重要的,而且越專越好。所以我們的測試人員,如果你的精力比較充沛,除了研究測試工具以外,也不妨也像開發人員一樣多花些時間在計算機語言上。要知道一個真正的高階技術測試的技術能力決不亞於一個開發人員。
2)行業專業化對測試崗位的提升
在我手頭的幾個測試崗位中,除了上面那種對某種技術有一定要求的,接下來就是業務有要求的。比如用友的測試工程師要求對ERP有深入的瞭解;億陽信通的測試工程師要求對電信業務有深入的瞭解;還有一個網際網路公司則要求有豐富的網際網路測試經驗。由此可見,測試這個職位比開發對行業的依賴更高。目前電信,金融,ERP,網際網路都是很有潛力的行業。專注於某一個行業,積累相關的行業經驗對日後的跳槽,發展都有較大的幫助。我想可以作為測試人員選擇工作機會的一個參考吧。
3)管理能力與測試崗位的提升
和前兩項相比,從測試工程師到測試主管,測試經理應該最容易被理解的發展方式。和我們要測試經理的公司與招專業化高階測試人員的需求一樣多,同樣都是高階人才,但方向不同,專業化測試看重的是技能,測試經理看重的是管理能力,通常需要有帶過團隊的經驗。很少有人可以在跳槽中完成從測試人員到測試主管的轉變,這種轉變在一個公司裡面比較容易積累,因為一旦有一定的技術水平,作為對業務有深入瞭解的老員工得到提升的機會比較多,如果希望走這條路的話,這個過程最好越早來到越好,測試與開發不完全相同,測試從工程師上升到測試經理更加容易一些,因為測試工作本身是含有一定的管理理念在裡面的,尤其在一些產品型的公司,做到一定的年頭,應該就會有機會得到提升,不管公司本身是否有名氣,這種機會是值得珍惜的,因為這種積累是日後更好發展的基礎。
除了往測試經理方向發展,作測試的女同胞比較多,從個人的角度如果並不希望在技術上花費太多的時間,也不想過於操心的話,還有一種方式可供參考,就是往過程改進和過程管理的方向發展。在標準的軟體工程中,測試被稱之為QC(質量控制),過程管理被稱之為QA(質量保證),QA被認為是QC的QC,QA的工作主要在於軟體開發過程的管理,很適合女性來做,很多女性在這個崗位上都做得非常出色,而他們很多人是來自於測試。QA的崗位多見於CMMI3級以上的軟體開發公司(不專業的公司一般是非不清QA和QC的區別的),這個崗位需要對CMMI以及各種開發過程管理思想有深入的瞭解,比如常見的RUP,敏捷開發等,有些是可以自學的,但如果可以有CMMI的評估過程則是最好的。一般來說這個崗位對行業沒有特別的要求,對技術的要求也不是很高,主要是有軟體工程的思想和實踐就可以。如果想往這個方向走的話,找到一個有類似實踐機會的公司就顯得比較重要了。當然在測試的基礎上學習一些相關的知識是獲得這類機會的必要條件。