测试人员的职业规划 --整理标注
接下來說一下大家關心的話題,如果選擇了測試,怎么能從測試團隊中脫穎而出呢?經常被提出的概念有“管理和技術兩條路線”,這個概念太抽象,還是無法幫我們理清思路。有的觀點認為,測試要學習開發技術,這個也沒有說到關鍵點上。我認為測試人員的職業發展有下面兩個,換句話說,軟件企業最需要擁有這兩種能力的測試人員。注意,這兩種能力并不互相沖突。
第一、不斷改進測試策略,提高測試效率和質量
目前很多公司的測試還是以手工的黑盒測試為主,測試策略比較單一,可能很多同學都遇到在寫測試計劃的時候,測試策略那一章不知該寫什么的問題。如果只做黑盒測試,會在提高測試質量的路途上出現一道難以逾越的鴻溝。 改進測試策略需要掌握開發技術,但是技術僅僅是必要條件,更重要的能力,是能夠系統的規劃一件事情,分析工作中的問題,選擇最有效的解決方法,最終和大家一起實現一個共同的改進目標。 改進測試策略一般會考慮以下幾個方向:單元測試(白盒和灰盒)、自動化測試、性能測試、安全性測試、易用性測試等等。當然,具體的改進目標,要根據業務的不同,選擇合適的方向。 不過,很多測試團隊的人力資源都比較緊張,無法投入太多的人手去改進測試策略,能夠很好的解決這一矛盾就顯得非常重要。公司需要的是,能夠根據測試團隊的當前狀況,制定出有效的改進計劃,并帶領大家提高測試效率的人。第二、能夠“吃”業務,控制業務的測試質量
這里需要說明,“吃”業務并不等同于熟悉業務。對于測試工作來說,熟悉業務是非常重要的,大部分測試人員上崗以后,都會從了解業務開始,逐漸的掌握產品線的業務規則。但是,當一個測試人員熟悉了某個業務以后(成為業務專家),問題出現了:他/她可能會一直陷在這個業務的測試執行中,無法解脫,幾年如一日的做著類似的工作。 即使增加了新的測試人手,業務專家也沒有感到多少輕松。一方面,業務專家要周而復始的對新人進行培訓,解答他們工作中的問題,培訓成本極高;另一方面,業務專家不放心把重要功能交給新人測,必須自己來測試,業務專家的職業發展出現了比較尷尬的局面。 由此我們提出了“吃”業務的概念,它與熟悉業務最大的區別就在于,測試人員吃掉一個業務以后,可以把測試工作完全交給另一個測試人員來做,同時,也能保證測試的質量。而要達成這個目標,關鍵就在于文檔。我們需要以業務為單位,完善測試用例、業務沉淀、測試設計、測試腳本等文檔,并且,更重要的是,要把這些零散的文檔組織成一個系統的文檔體系。 注意,吃業務并不等于為這個業務單元編寫一套非常完整的文檔,而是建立起一個基本的,可持續維護的文檔體系即可。業務專家吃完一個業務以后,可以把這個業務交給其他人,然后開始吃第二個,同時,關注原先的業務的文檔完善過程。這樣,有吃業務能力的測試人員,能管理更多的業務需求和測試人員,而且由于他/她接觸的業務越來越多,工作的視角也會逐漸提高,成為系統級的測試工程師和團隊leader。 要設計這一文檔體系,也需要較好的系統設計能力,當然,最主要的是持之以恒的毅力。另外,每個業務單元的文檔體系,也可以在一批批的測試人員中傳承,每個人都會來維護、完善它,并從中學到很多經驗。【這篇主要是講了測試人員應該提高的兩種能力,但是對測試人員的職業規劃,只提了一句:將來發展為技術性,或者管理型。】
--------
【下面這篇給出了一種成長體系,和需要掌握的知識,但我覺得這是很單一的體系,衡量標準也未必適用于任何公司。不過這些知識掌握住肯定還是好的。】
????? 初級測試工程師––入門級,具有一些手工測試經驗,開發測試腳本并開始熟悉測試生存周期和測試技術;
????? 測試工程師––能夠獨立編寫自動測試腳本程序并擔任測試編程初期的領導工作,進一步拓展編程語言、操作系統、網絡與數據庫方面的技能;(但具體應該是哪些方面呢?)
????? 高級測試工程師––幫助開發或維護測試或編程標準與過程,負責同級的評審,并能夠指導初級的測試工程師;
????? 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)測試管理者。(技術+管理),哪方面薄弱就補哪塊。多多聽取別人的意見,改進自己身上的缺點。
??? 不管做任何事,都要有目標。有了目標,就會堅持到底。否則。。。。。
總結
以上是生活随笔為你收集整理的测试人员的职业规划 --整理标注的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络安全基础问答24例,白帽黑客必备
- 下一篇: 给大家带来一道原创C++题ya,大家把代