測試人員的職業規劃 --整理標註
--------
【下面這篇給出了一種成長體系,和需要掌握的知識,但我覺得這是很單一的體系,衡量標準也未必適用於任何公司。不過這些知識掌握住肯定還是好的。】
初級測試工程師––入門級,具有一些手工測試經驗,開發測試指令碼並開始熟悉測試生存週期和測試技術;
測試工程師––能夠獨立編寫自動測試指令碼程式並擔任測試程式設計初期的領導工作,進一步拓展程式語言、作業系統、網路與資料庫方面的技能;(但具體應該是哪些方面呢?)
高階測試工程師––幫助開發或維護測試或程式設計標準與過程,負責同級的評審,並能夠指導初級的測試工程師;
Team Leader––一般具有5年左右工作經驗,負責管理一個小團隊。負責進度安排、工作規模/成本估算、按進度表和預算目標交付產品,負責開發專案的技術方法,能夠為使用者提供支援與演示;
測試經理––能夠擔當測試領域內的整個開發生存週期業務,能夠為使用者提供互動和大量演示,負責專案成本、進度安排、計劃和人員分工;
計劃經理––具有多年純熟的開發與支援(測試/質量保證)活動方面的經驗,管理從事若干專案的人員以及整個開發生存週期,負責把握專案方向與盈虧責任。 【這是走管理型的路線了】
職業規劃:
1.第一階段,學習自動化測試工具,學會編寫指令碼;
2.第二階段,學習編寫測試計劃,測試方案,測試用例;
3.第三階段,學習配置管理,版本控制,專案管理,bug管理;
4.第四階段,轉向做一個管理者.
技術方向就沿著測試開發的路一直走下去.最終成為技術上的大拿,在一個公司裡成為核心技術人員
這個方向對技術的積累要求最高,適於那些對管理沒什麼興趣,就想專心做技術的人。要沿著這條路走下去,需要一直不斷地在開發能力上的積累,並且還要求一定的知識廣度和對職業的獨特理解。
管理方向呢,工作個幾年以後轉向測試經理,以後的發展就多樣了,質量總監\專案經理等等
有些人說做管理不需要技術,卻沒想過作過一個技術工作,自己都不會的東西怎麼去管理別人,當然也有例外,有些管理人員也的確是靠自己的人格魅力去讓一個團隊健康發展的。不過那只是極少數罷了。大多數測試管理人員也是需要在技術上有一定積累的。而且對於所有工作都一定要比較熟悉,黑白盒,自動化,效能,用例設計,配置管理,計劃方案的設計
而流程控制大概是選的人最少的,QA累死不討好,最終成為一代終極流程控制顧問
這一類工作需要有非常大的耐心和自信,需要在工作中對流程控制方面有自己的感悟,需要對理論很熟悉。對人的毅力也是個極大的考驗呢
其他的,還有做用例做到極至,做功能測試做到極至,做使用者體驗做到極至的等等,總之各種發展方向者需要努力的堅持,任何一個方向做好了都很好。
如果你是測試員或是高階測試員,有志轉向管理髮展,那麼需要加強以下幾點:
1. 測試計劃的編寫(要結合測試的專案,能以此來控制和確定測試所需人員,裝置及時間來管理測試時間)
2. 要熟悉BUG跟蹤工具及軟體測試流程.(如: TD, Bugzilla, CQ等)
3. 要熟悉配置管理工具. (如: CVS, VSS等)
4. 要熟悉自動化工具.(例如:WinRunner, QTP, Robot, RFT, Automation等,能結合錄製完的指令碼編寫程式碼)
5. 要熟悉壓力及效能測試工具.(例如: LoadRunner, webload, silkperformance等,能結合相關資料,分析出效能瓶頸)
6. 要熟悉或精通一門語言. (例如: Java, C++)
7. 要熟悉資料庫.(例如: Oracle, DB2, SQLServer, MySQL)
8. 要熟悉主流作業系統. (例如: HP Unix, IBM AIX, Sun Solaris, Red Hat Linux, SuSE Linux, Windows)
9. 能用英文流利的和老外交流以及往來Email.
10. 語言表達能力強,表達問題清晰明瞭.
11. 溝通能力強,能和上級/開發經理很好的達成測試相關/BUG事宜.
12. 學習技術的能力要強,能快速上手一個新的技術.
13. 樂於與人交流.
【我覺得以下不怎麼靠譜,不過可以一看】
初級測試工程師:剛走出大學校門或者剛從些培訓機構出來的學員,之前沒有或具備很少的測試經驗,這個階段主要是掌握最基本的測試方法、測試計劃、測試用例、測試報告、環境搭建等。北京上海地區,該職位薪水一般在2000-5000之間。
中級測試工程師:從事過2-3年實際工作的測試工程師,能夠獨立制定測試計劃,編寫測試用例,對初級測試工程師進行指導等。北京上海地區,該職位薪水一般在4000-6000之間。達到中級測試工程師水準後,以後的發展可以存在多種方向:
--》管理方向:
測試組長:一般5人以下團隊,能夠同時承擔2-3個較小專案(程式程式碼在5000行以下)或者1箇中、大型專案(程式程式碼在5000行-25000行左右)。北京上海地區,該職位薪水一般在5000以上,好的過萬。
------------》測試經理:可以管理多個小型測試團隊,能夠承擔多箇中型及較大型專案的測試,及具備至少1個大型專案(程式程式碼在25000行以上)的測試管理能力。該職位薪水一般過萬,年薪二三十萬正常。
------------》質量經理/專案管理:跳出測試的執行轉而關注過程。SQA待遇差別比較大,但有2年以上測試或開發經驗的人5000以上應該沒問題,好的也過萬。
--》技術方向:
白盒測試:這個由開發人員轉過來的比較多,一般技術上要至少達到技術經理的水準。待遇比較好,一般7k以上,好的年薪二三十萬。
自動化測試方向:熟練使用一種以上自動化測試工具,做的好的待遇與白盒測試有的一拼,一般6k以上,不過最近學的人多了,待遇貶值可能比較快。
測試分析師/技術總監:主要職責是對系統的測試結果進行綜合的分析,例如缺陷分析、效能分析等。不但測試技術能力較強,還要具備資料庫、作業系統等多方面的技術知識。這個待遇一般過萬了吧.
行業測試專家:物以稀為貴,過萬一般問題不大。
經歷了以上一些階段,大概在35歲左右,職業發展上基本達到瓶頸,此時只要混的不是很差收入一般可以算的上中產階級,日子可能依然過的比較鬱悶,之後的方向可能有做培訓,諮詢,自己開公司創業等。
入測試行已有五、六年,談談自己的規劃和一些想法:
一、自己的規劃:
做了幾年之後,積累的了一些行業經驗(電子商務型,電信通訊行業)和管理經驗(指的是測試管理),畢竟是女孩,這麼多年一直都在不斷地學習各種技術,總怕落後。時間長了,感覺還是很累,感覺比做開發累。所以將來的方向是:走管理路線。(當然這條線也不好走,但是做了2年管理後,感覺在這方面有一定能力,只要努力就一定會成功的)
做好測試:主動性強,有信心,能聽取接納別人的意見。
二、對於測試新手來說,如何入行,需要具備的知識和能力
1、測試的基礎理論知識,知道測試流程是什麼?測試的常用的文件有哪些,該如何編寫?測試方法有哪些?
方法:去一些測試論壇(如:51testing,測試時代,3atesting,一起測試網等)找些資料來學習。或者買一些測試的書籍。再有也可以參加測試培訓。
2、要熟悉或精通一門語言. (例如: Java, C++,.net,VB,PB,Dephi),做到能讀懂程式碼。當然能獨立編寫程式碼更好。
方法:學習一種比較流行的語言即可,因為時間有限不可能學很多開發語言。學習的過程一定要給自己制訂時間計劃,而且語言這東西最好結合例項來學習,主要學習設計思路。
3、要熟悉BUG跟蹤工具.(如: TD, Bugzilla, CQ等),學習一種即可,主要能領悟出bug的處理流程是什麼,如何管理。
方法:到網上看資料,裝上工具適用。
4. 要熟悉配置管理工具. (如: CVS, VSS等),會一種即可,當然有時間的話,2種工具都會更好。
5. 精通OFFice系列工具,排版能力強。測試中經常會寫文件,所以這方面要強。
6、 要熟悉資料庫.(例如: Oracle, DB2, SQLServer, MySQL),對一種資料庫精通就可以了。
7、要熟悉主流作業系統. (例如: Red Hat Linux, Windows)
8、需要增強的能力:
學習能力強;表達能力強;耐心,細心,信心,責任心;能承受壓力;溝通能力強。
以上這些,都是需要下功夫的,不能做表面功夫,那樣的話,就算你入行後,會發現自己要學的東西會很多。
三、入行後,要學習的知識和能力:
1 、公司的文化和制度
2、熟悉業務,這塊很重要,需要認真對待。
3、熟悉公司的開發流程和測試流程。
4、業務熟悉後,將自己所學的知識運用到實際工作中。提高自己的測試水平。
5、培養自己的溝通能力,與業務相關的所有人都能很好的溝通。
6、工作中遇到的問題及解決措施要及時總結整理。
7、針對公司的專案或產品選擇適合的自動測試工具,幫助公司提高測試效率。
這一階段重在:熟悉業務,熟悉工作流程
四、入行半年——1年後,要學習的知識和能力
1)提高編寫用例的技巧。
2)熟悉一種單元測試工具。(針對公司的專案或產品使用的開發語言而定)
如果公司這塊一直都是開發人員來做,暫且跳過。
3)熟悉一到兩種自動化工具。(功能類和效能類的,如:WR,QTP,LR,ROBOT等)
建議:學習工具的話,一定要結合實際的專案,這樣學得快而且效果比較好。
4)熟悉一種測試管理工具。
(呵呵,為以後做測試管理者打算)
5)瞭解新業務,開發的新技術。
這個階段的重點:就是提高自己編寫用例的水平,工具的使用。
五、 多年以後,相信自己都自己的目標了。
1)如果做專職的效能測試工程師:精通一種效能測試工具,並能分析出瓶頸。(這點我沒做到)(這些需要提高多方面的知識:伺服器,中介軟體,開發,資料庫等)
2)如果做自動化測試工程師,精通一種自動化工具,並能獨立編寫指令碼,瞭解一些最新自動化測試方面的技術。
3)測試管理者。(技術+管理),哪方面薄弱就補哪塊。多多聽取別人的意見,改進自己身上的缺點。
不管做任何事,都要有目標。有了目標,就會堅持到底。否則。。。。。