其實這篇博文是寫出來想給大家分享一下
測試工程師的
職業(yè)發(fā)展的,顯然是老話題了,因此我假設(shè)本文的目標讀者為:
1. 想進入軟件測試領(lǐng)域,還不太清楚實際的軟件測試長什么樣的童鞋。
2. 剛上走上測試這條路不久,接觸過一些實際項目了,但還沒“擰”上道的童鞋。3. 做了一段時間測試,也明白了軟件測試是怎么回事,想繼續(xù)從事測試行業(yè),但是對前途感覺很茫然的童鞋。4. 做了一段時間測試,感覺測試不是自己所想要的職業(yè),仍然想在IT行業(yè)發(fā)展,但想轉(zhuǎn)行的童鞋。如果您不屬于這其中的某一類人,或許這篇小文并不適合您,請不要浪費你的時間了,謝謝。
職業(yè)發(fā)展是個老生常談的問題,但一直都是一個很火的話題。隨便翻翻,各個關(guān)于軟件測試的壇子里,都不乏探討軟件測試工程師職業(yè)發(fā)展的帖子,為什么我還要多寫這么一篇呢?好吧,先來說說這篇博文的緣起:在我將近八年的職業(yè)軟件測試生涯中,遇到過不少剛剛進入測試領(lǐng)域的新人,也有不少做過三四年或者五六年的“老鳥”,不管做得好的還是不好的,我覺得都可以用兩個字來形容大多數(shù)人的狀態(tài):“忙”與“茫”。前一個忙可能適合于大部分剛踏入測試領(lǐng)域的新人,他們興趣勃勃,對一切新鮮事物都充滿著好奇,總想
學習更多的技術(shù),參與更多的測試,好早點積累起屬于自己的測試經(jīng)驗。后一個“?!?,可能更適合做了幾年測試的所謂“老鳥”,他們經(jīng)歷了一些項目,也積累了不少的經(jīng)驗,不管是否領(lǐng)悟了測試的“真諦”,他們中的大部分人都已經(jīng)習慣了目前的
工作狀態(tài),成了熟練工種?;蛟S在糾結(jié)著究竟以后的路該怎么走,究竟是學技術(shù)還是做管理?學技術(shù)的話,什么樣的技術(shù)學了才會讓自己在這個領(lǐng)域更具競爭力?做管理的話,自己具備做管理的特質(zhì)嗎?又或許自己根本不適合做測試?甚至于不適合做IT?可轉(zhuǎn)行的話,隱藏著巨大的機會成本,風險確實很大,用什么樣的職業(yè)來轉(zhuǎn)行才更靠譜呢?“菜鳥”也終究有成為“老鳥“的那一天,所以這些問題是我們每個人都會遇到的,有句話說得非常好:二十歲的迷茫將導致三十歲的恐慌,而接下來面對的是四十歲的無奈。不管你現(xiàn)在多少歲,如果你現(xiàn)在還沒有定下自己的目標,可能看到這句話都會有這樣的感覺,迷茫、恐慌和無奈,每個詞都不是什么褒義詞,沒人想把它們放在自己的身上。正因為有這樣一些問題,這么多的無奈,才有了這篇
文章。我想通過這篇文章,和大家分享一下我這么多年工作之中對測試職業(yè)生涯發(fā)展的思考,更重要的是,我同時還會給大家提供一些以后不做測試之后該如何華麗”轉(zhuǎn)行“的意見供大家參考,”三十六“變究竟應(yīng)該怎么變,我想這也是我這篇文章的價值所在。
本文準備分兩大部分來講不同方向的職業(yè)生涯發(fā)展之路。第一部分當然就留給那些想繼續(xù)留在測試行業(yè)發(fā)展的童鞋們,講講如果你想在測試行業(yè)繼續(xù)奮斗下去的話,為了你的“錢途”,你應(yīng)該往哪方面發(fā)展。第二部分應(yīng)該算是其他文章講得較少的內(nèi)容,那就是如果你干了一段時間覺得你不愿意再從事測試行業(yè),想從一些相關(guān)的職業(yè)轉(zhuǎn)行離開測試領(lǐng)域,那么請著重看這部分。一、測試行業(yè)的職業(yè)發(fā)展之路其實這部分是幾乎所有關(guān)于測試的職業(yè)發(fā)展文章都會探討的部分,相信各位看官都已經(jīng)耳熟能詳了。不過為了照顧本文的完整性,也便于大家比較,我也將我的經(jīng)驗和觀點分享給大家,以作參考。如果有童鞋有更好的觀點,歡迎分享和探討。
1. 技術(shù)方向就技術(shù)方向的職業(yè)發(fā)展之路,我非常贊同之前看過的測試大牛sincky的一篇文章里說的,如果你打定主意就想往測試技術(shù)方向去發(fā)展,做一個技術(shù)型的牛人,那擺在你面前的就只有三條路:1.
自動化測試工程/架構(gòu)師 2.
性能測試工程師 3. 行業(yè)性測試專家。你幾乎沒有其他選擇,甭管你的領(lǐng)導怎么忽悠你,做手動測試大量需要勞動力也好,自動化測試現(xiàn)在還沒有大規(guī)模發(fā)展起來也罷,如果你只會手動測試,并且你所測試的軟件也沒有什么特別值得深究的方面的話,那么可以告訴你你的測試生涯錢途堪憂,說白了也就是沒有什么核心競爭力,哪天boss們想砍人了,那你就是第一個。有些童鞋可能會說了,這個不對吧,看咱項目里不是還是80%以上的人都是做手動的嘛,為什么你卻說自動化/性能測試才更具有核心競爭力呢?先說自動化吧,確實,就目前中國測試業(yè)的現(xiàn)狀來看,80%以上的IT公司里面80%以上的測試人員都在做著黑盒的手工測試,這個假象確實麻痹了一些人,使得大家以為既然大部分人都在做著手工測試,那我也不需要去學習自動化或者性能測試了。就算很多已經(jīng)實施了自動化測試的公司,也在痛苦地摸索著如何提高自動化測試的效率,如何能夠真正提高系統(tǒng)的性能。但不管現(xiàn)狀如何,很多公司也必須重視自動化測試,原因有二:1. 商業(yè)上的需要。很多公司,特別是測試外包公司,銷售們在推銷自己公司的團隊和產(chǎn)品的時候,測試的自動化程度都是一個重要的指標,這年頭說測試不說自動化都顯得自己“out”了,所以自動化測試能不香嗎?2. 項目需要。很多管理職位的人,如果不是做測試技術(shù)出身,都會非常迷信自動化測試的神力,把自動化測試當成測試的銀彈,戰(zhàn)無不用,用無不勝,所以相對來說,會比較重視自動化測試的人。對于性能測試和行業(yè)測試專家來說,那就是物以稀為貴了。真正能做好性能測試,并能夠通過性能測試結(jié)果分析出性能瓶頸,提出性能改進方案的人,寥寥無幾。行業(yè)測試專家也一樣,比如電信、醫(yī)療、ERP測試,能夠精通業(yè)務(wù),真正能夠利用對業(yè)務(wù)的了解改進測試效率,也是數(shù)都能數(shù)出來的,你說他們的錢途用得著擔心嗎?呵呵。
好了,接下來再來說說這三個職位各需要什么樣的具體技能吧(可能不是很全,歡迎各位看官補充)。
1.1 自動化測試工程師/架構(gòu)師 基本能力要求:
--熟悉自動化測試的理論及常用框架
--熟練使用常見的自動化測試工具并能夠根據(jù)項目實際需要選擇合適的工具或者開發(fā)相應(yīng)的工具
--熟悉項目軟件架構(gòu)及層次結(jié)構(gòu),能夠利用自動化測試工具或自定義的框架提高自動化測試的覆蓋率和復用率
--熟悉腳本類及一到兩種常用的編譯型編程語言,網(wǎng)絡(luò)協(xié)議及l(fā)inux平臺
1.
2 性能測試工程師 基本能力要求:
--熟悉性能測試過程模型和過程
--熟悉各種常見的應(yīng)用協(xié)議
--熟悉性能測試工具的原理及使用
--能夠根據(jù)實際項目配置測試環(huán)境,選擇合適的性能測試工具或開發(fā)性能測試工具
--能夠通過對被測系統(tǒng)的分析,對性能測試場景進行分析和選取
--執(zhí)行性能測試并根據(jù)結(jié)果分析性能瓶頸,提出性能提升改進的建議
1.
3 行業(yè)測試專家 基本能力要求:
--精通某個業(yè)務(wù)性較強的行業(yè)的業(yè)務(wù)流程及關(guān)鍵技能,如醫(yī)療,通信,ERP等特征較明顯的行業(yè)。(如果你是測一般的網(wǎng)站或者是
手機系統(tǒng)之類的話,還是省省吧,這個不是這里指的行業(yè)專家)
--能夠根據(jù)對本行業(yè)業(yè)務(wù)的了解和對軟件測試的了解,對組織內(nèi)的軟件測試流程和方法做出優(yōu)化,提高測試效率,節(jié)省測試成本
2. 管理方向 談完了技術(shù),當然就該談?wù)劚粺o數(shù)人所追崇的管理職位了。當然了,能管別人,發(fā)號施令,誰不喜歡呢?古人云:學而優(yōu)則仕,就是這個道理。可職業(yè)發(fā)展這個金字塔上,能最終站上管理職位的那個塔尖的人又有多少呢?管理職位雖然看似很爽,很誘人,但絕不是每個人都適合做這個崗位的。也不是說你做了若干年的技術(shù),成了技術(shù)大牛,你就一定能去管項目管人,畢竟管理主要是跟人打交道的活,你雖然能把電
腦弄得服服帖帖,但不一定你去管人的時候,人就會服你,所以其實談到做管理,最關(guān)鍵的就不是技術(shù)了,用兩個比較時髦的詞來說,關(guān)鍵就是“溝通”和“協(xié)調(diào)”,你得會跟客戶去做溝通,你得會跟其他人去做協(xié)調(diào),這是做管理的先決條件。如果你覺得自己不善言談,不想時時面對眾人,那兄弟你還是跳過這一節(jié),繼續(xù)看看其他部分吧。
那么就從做管理來說又可以有什么樣的職位選擇呢?撇開高層管理什么CXO的不談,就一般的管理而言,可以選擇的管理職位有兩類:
2.
1 項目經(jīng)理 基本能力要求:
--較高的溝通和協(xié)調(diào)能力。一方面你要能把客戶哄好了,另一方面你得牢牢取得團隊的支持,你要沒點溝通能力和協(xié)調(diào)能力,能行嗎?
--熟悉
項目管理的相關(guān)知識,如果能夠取得PMP證書(項目管理師認證)是最好的,因為那至少可以證明你從理論上非常專業(yè)地學習了項目管理的基本概念,熟悉了項目管理的五大過程組及九大知識領(lǐng)域(詳細內(nèi)容請參考相關(guān)PMP書籍),有一定的項目管理經(jīng)驗,理論上是沒問題的了。
--技術(shù)方面呢,不需要你太精通技術(shù),但作為IT行業(yè)的項目經(jīng)理,我一直都認為沒有任何的技術(shù)背景其實是很難勝任這個行業(yè)的管理職位的,因為技術(shù)性確實太強,人家談?wù)搶崿F(xiàn)的時候,你啥都聽不懂,是不是挺尷尬的?關(guān)鍵是你還得做出決策。如果打個比喻來說明究竟項目經(jīng)理需要掌握技術(shù)到什么程度的話,可以用兩個詞:一平方公里和一米。你的知識面必須得有一平方公里寬,但這些知識的深度只有一米。什么都知道一點,什么都不精,或許對做技術(shù)的人來說不是什么好事,但如果你是做管理的,那恭喜你,兄弟,繼續(xù)干吧。
2.
2 測試經(jīng)理 基本能力要求:
--參照項目經(jīng)理的第一條,必須滴~~
--你不需要有特別多項目管理理論基礎(chǔ)及經(jīng)驗,但你必須精通軟件測試的方方面面,從流程、方法、工具、框架、組織等等,你都必須了解,并最好有實際的項目經(jīng)驗,能夠隨時指導測試團隊的工作,對團隊里面的問題提出一定的參考意見和解決方案,對團隊的測試流程和方法做出改進。
二、從測試行業(yè)轉(zhuǎn)行的選擇好了,看了上面的那些測試行業(yè)本身的職業(yè)發(fā)展選擇,有的童鞋可能會感覺不蛋定了,壓力山大了,哎呀,本人天生就是編程白癡,書看了不少,什么語言之類的人家說起來或者看著書上感覺都會,可自己一坐到電腦面前打開IDE就茫然,思路全無,硬是敲不進一行代碼,我怎么可能做自動化?我怎么發(fā)展?我從事的測試就是測測手機上的游戲,我怎么做行業(yè)測試專家?說溝通和協(xié)調(diào)吧,我自己都是宅男宅女,選擇性話癆,最煩跟不熟的人(客戶)多說一句話,我怎么溝通?怎么做管理?得,如果您是屬于這類人,其實說實話,軟件測試這個職位可能并不是您的菜,您可能還需要重新考慮一下更適合你的職位。當然我們都知道,轉(zhuǎn)行的機會成本是相當高的,本來做了三五年軟件測試,突然讓你去做醫(yī)生或者建筑師,那估計誰心里都沒底,除非您就是一天才。綜合比較來看,比較保險的辦法應(yīng)該是繼續(xù)從事IT行業(yè),但不做軟件測試,轉(zhuǎn)到比較相關(guān)的行業(yè),再看看自己是否適合,這樣做的機會成本會低很多,風險相對較小。那么什么樣的職業(yè)選擇是和軟件測試相關(guān)的呢?它們又應(yīng)該具備什么樣的技術(shù)技能呢?接下來本人會為大家一一道來。當然,這些意見都是根據(jù)我自己的一些淺薄的經(jīng)驗,無奈當初樓主在一些小公司被劈成幾半用的時候,除了測試外,幾乎軟件工程里面該有的一些主要職位都做過了,如需求分析,開發(fā),售前,售后等等,所以才會有這些結(jié)論出來,下面的內(nèi)容關(guān)于能力方面的要求是最基本的,歡迎大家補充,個人見識有限,這里權(quán)當拋磚引玉了,呵呵。
1. SQA說到SQA,其實很多公司現(xiàn)在都已經(jīng)跟軟件測試是一個概念了,測試人員既做QA又做QC的情況非常普遍,只有一些規(guī)模較大,流程確實非常正規(guī)的公司還保留有專門的SQA的職位,這里只是權(quán)當做個參考和選擇之一。或許有不少童鞋會對QA和QC的區(qū)別心存疑惑,甚至有不少人根本不知道這是兩個不同的職業(yè),那么他們有什么區(qū)別呢?我這里隨便解釋下。如果用一個比喻來形容QA和QC的關(guān)系的話,我覺得用法官和警察的關(guān)系來形容是比較貼切的。法院的法官制定法律,但他們不親自去抓罪犯,而警察呢,則依據(jù)法院制定的法律去判斷某人是否違法,是否是應(yīng)該被抓捕的罪犯,并親自去把他們抓住。QA就如同法官,他們制定了一系列的流程,工作的輸入輸出,哪些文檔,如何審計測試的效率,如果改進測試流程,都是他們在掌握。而QC,就是測試人員,他們則在QA的流程下,運用各種測試的方法去抓bug,盡量減少產(chǎn)品的缺陷,保證產(chǎn)品的質(zhì)量。所以SQA的工作比較適合不太喜歡親自去找bug,但喜歡從比較high level的角度去看待問題的人,說白了就是動手能力不太強,但確實對測試還比較感興趣,對各種質(zhì)量理論感興趣的人。
基本能力要求:
--熟悉常見的質(zhì)量控制體系及軟件項目成熟度模型等,如CMM/CMMI,6 sigma,ISO9000,RUP等等
2. 售前工程師為什么說測試工程師同樣也適合轉(zhuǎn)售前呢?因為測試工程師其實是最了解產(chǎn)品需求和產(chǎn)品功能的那個人,甚至他比模塊化的開發(fā)人員還了解公司的系統(tǒng)或者產(chǎn)品。在清楚系統(tǒng)的功能的前提下,很容易就能夠針對各種客戶的需求提出相應(yīng)的解決方案,再加上如果您有較好的文字功底或者是溝通技巧,那其實售前工程師是一個相當好的轉(zhuǎn)行的方向。當然,這個職位也特別適合那些想做銷售但又上了測試這條船的童鞋,這可是一個很好的跳板啊,呵呵。
基本能力要求:
--熟悉產(chǎn)品的使用及實施,能夠根據(jù)客戶的需求提出相應(yīng)的解決方案
--較好的溝通和表達能力
--較強的文字功底和報告功底
3. 用戶體驗師用戶體驗師或許還不是一個很火的職業(yè),但根據(jù)當前和以后的軟件業(yè)的趨勢,火是必然的了。因為用戶使用產(chǎn)品,除了功能外,越來越重視的是用戶體驗,功能誰都有,那當然是誰的好用就用誰的了,比如最近熱得燙手的
蘋果產(chǎn)品就是最好的例子。當然用戶注重用戶體驗了,那當然各大軟件公司就必須得重視了,自然用戶體驗師就應(yīng)運而生。其實很多大公司早已有專門的用戶體驗師的職位,比如蘋果,喬布斯就可以說是蘋果的首席用戶體驗師,同樣國內(nèi)的如
百度,
騰訊等大公司也都有,而且騰訊的馬總也是首席體驗師,任何新產(chǎn)品他都會親自使用并提出改進意見,由此重要性可見一斑。那么如何又扯到跟測試這個職業(yè)相關(guān)了呢?大家想想,平時我們在做諸如易用性測試,界面UI測試等等,遇到用戶體驗不好的,或者給用戶操作帶來阻礙的東東是不是也應(yīng)該算是bug呢?所以我們也可以說是對用戶體驗有足夠的了解了,只是對用戶體驗師這個職位來說,還不是很專業(yè)罷了。那么要成為專業(yè)的用戶體驗師,我們又應(yīng)該具備什么樣的能力呢?
基本能力要求:
--具備較豐富的UI設(shè)計經(jīng)驗和較強的設(shè)計能力,并且對用戶體驗較為敏感。
--具備人機交互工程學,人體力學等專業(yè)知識,并且具備一定的用戶體驗測試經(jīng)驗。
4. 需求分析工程師其實做過測試的童鞋都應(yīng)該知道,在項目里面,除了客戶之外,可能就是測試團隊對項目需求是最了解的了。大家可以說天天都在和需求打著交道,因為需求就是我們做一些測試的依據(jù)。隨著很多公司開始應(yīng)用
敏捷模式來進行軟件開始,可能傳統(tǒng)意義上的需求分析工程師的數(shù)量正在減少,取而代之的是測試人員在團隊中擔當了需求分析和功能建模的角色。但不要擔心,還是有很多公司對需求分析有專門的需求的,當然,你如果是有需求分析師證書的話,那就更好了。
基本能力要求:
--了解軟件項目需求分析過程,具備需求建模能力及系統(tǒng)用例分析及設(shè)計能力,能夠使用uml建模語言建模。
--較強的溝通,交流及理解能力,要善于引導客戶說出真正的需求或者理解客戶真正的需求。
5. 開發(fā)工程師這個就不說了,這個職位適合于對編碼確實感興趣的童鞋,可以考慮從測試轉(zhuǎn)開發(fā),盡管現(xiàn)實中一般都是開發(fā)轉(zhuǎn)測試,你懂的,呵呵。
基本能力要求:
--代碼編寫能力較強,愿意做一個碼農(nóng)或者苦逼的程序猿
6. 售后及技術(shù)支持相信每一個測試工程師測完被測系統(tǒng)后,你都敢拍著胸脯說,OK,我現(xiàn)在對這個系統(tǒng)的功能是最熟悉的了,哪里最容易出問題,哪里該注意什么,可能對于你來說都不在話下,甚至你還可以寫出你負責測試那個模塊的用戶手冊。沒錯,這就足以說明你已經(jīng)勝任售后及技術(shù)工程師的角色了,如果你確實不愿意再去做測試,不妨也考慮一下這個職位。
基本能力要求:
--非常熟悉產(chǎn)品的各項功能及使用,并具備較強的解決問題的能力
--較強的溝通和理解能力。要跟客戶打交道的崗位,必須滴的哈。。。
7. 軟件測試培訓及咨詢其實這個職位是比較適合資格較老的測試工程師,他們已經(jīng)對軟件測試爛熟于心,技術(shù)能力較強,并且可以靈活變通,了解各種測試工具及方法,升職無望或者不想再從事具體的測試工作,可以考慮這個方向,并且從現(xiàn)在的待遇來看,培訓及咨詢行業(yè)的行情還是很不錯的喲,呵呵。
基本能力要求:
--精通軟件測試理論及具備一定的項目實踐經(jīng)驗,熟悉各種主流工具、流程及方法等。
--較強的溝通、表達及引導能力。這條其實非常重要,你想想,在眾人面前,你講不出來,怯場,那什么都完了。
--能夠根據(jù)企業(yè)或?qū)W員的具體情況給出理想的解決方案或培訓方案。
好了,我能想到的就這么多了。顯然題目比較夸張了,這里給出大家的職業(yè)發(fā)展選擇遠遠沒有“三十六行”那么多,但我想應(yīng)該能夠給到大家一些新的idea,至少我很少看到有人寫到關(guān)于非軟件測試行業(yè)本身應(yīng)該有哪些比較“靠譜”的職業(yè)選擇的。其實早就想把這篇文章寫出來,現(xiàn)在終于如愿了。不管怎么說,我都希望各位看官能夠在看完本文后,不管你仍然選擇奮戰(zhàn)在測試戰(zhàn)線上也好,還是準備轉(zhuǎn)行也好,都能夠?qū)ψ约簩淼穆殬I(yè)發(fā)展有一點點的想法和方向,那么我覺得你就沒有浪費這么三五分鐘看完本文,我就沒有浪費那么三五個小時完成本文,呵呵。當然,我也希望借由這篇短文,大家可以談?wù)勛约盒哪恐欣硐氲穆殬I(yè)發(fā)展方向,畢竟我們都不是高帥富,有個好的職業(yè)生涯發(fā)展是每個人都希望的事。
樓主原創(chuàng),如蒙轉(zhuǎn)載,請注明出處,謝謝。http://www.51testing.com/html/81/22381-809559.html