不同類型的軟件公司,對測試工作的重視程度也有很大不同。建議測試人員選擇一些業務持續發展的公司。做項目東一榔頭西一棒的公司,是不需要高質量的測試的,他們需要的是盡快把軟件交出去,卻無法靜下心來思考,怎么把質量做好。選擇這樣的公司,要冒相當大的風險。
接下來說一下大家關心的話題,如果選擇了測試,怎么能從測試團隊中脫穎而出呢?經常被提出的概念有“管理和技術兩條路線”,這個概念太抽象,還是無法幫我們理清思路。有的觀點認為,測試要學習開發技術,這個也沒有說到關鍵點上。我認為測試人員的職業發展有下面兩個,換句話說,軟件企業最需要擁有這兩種能力的測試人員。注意,這兩種能力並不互相沖突。
第一、不斷改進測試策略,提高測試效率和質量
第二、能夠“吃”業務,控制業務的測試質量
【這篇主要是講了測試人員應該提高的兩種能力,但是對測試人員的職業規划,只提了一句:將來發展為技術性,或者管理型。】
--------
【下面這篇給出了一種成長體系,和需要掌握的知識,但我覺得這是很單一的體系,衡量標准也未必適用於任何公司。不過這些知識掌握住肯定還是好的。】
初級測試工程師––入門級,具有一些手工測試經驗,開發測試腳本並開始熟悉測試生存周期和測試技術;
測試工程師––能夠獨立編寫自動測試腳本程序並擔任測試編程初期的領導工作,進一步拓展編程語言、操作系統、網絡與數據庫方面的技能;(但具體應該是哪些方面呢?)
高級測試工程師––幫助開發或維護測試或編程標准與過程,負責同級的評審,並能夠指導初級的測試工程師;
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)測試管理者。(技術+管理),哪方面薄弱就補哪塊。多多聽取別人的意見,改進自己身上的缺點。
不管做任何事,都要有目標。有了目標,就會堅持到底。否則。。。。。
