今天在整理電腦的時候發現這樣一篇文章、已經想不起來是從哪裏弄來的。仔細讀來很有一番收穫、再次貢獻給你們、願你們在軟件測試的道路上取得一席之地、實現本身的財務自由之路。
軟件測試職業發展方向,大致上能夠分爲管理路線、技術路線、管理+技術路線。
軟件測試,是技術主導的職業;無論選擇哪條發展路線,都是須要必定的技術沉澱,只是相對來講,管理路線對技術方面要求不高而已。那麼咱們就先挑重頭的技術 路線展開討論。通常來講,一個普通的測試工程師剛入行,3個月左右熟悉企業的工做流程和模式,那麼從此的工做內容趨於平穩。
然而社會是殘酷的!若是單單停留在測試工程師的階段,若干年後,相信你再也競爭不過那個時候的應屆畢業生,當你的工做技能和職業素質趨於與那些朝氣蓬勃的 年輕人至關時,企業會絕不留情的選擇他們,而release你,由於你的成本消耗要比他們高,這是大實話!然而現實又是公平的!由於軟件開發技術的不斷日 新月異,軟件功能需求的不斷豐富多樣,決定軟件開發這一系統工程的錯綜複雜,所以爲了保證軟件的質量,就要提升測試的水平,這也就爲軟件測試職業的細化起 到先決因素,也是目前社會上出現招聘專項測試工程師的必然趨勢!
所以,這個趨勢給了咱們這些常規測試工程師一個空前的好機會!所謂「以毒攻毒」,軟件開發靠的是技術,爲了測試軟件,也必須用技術;那麼咱們就來看一下從技術路線,軟件測試職業發展有哪些方向。
測試初級階段:
測試工程師,屬於軟件測試職業生涯的初級域,其適用範圍是入行軟件測試3年內的常規測試從業者,其主要工做內容是按照測試組長、測試主管(即直接上司)分配的任務計劃,編寫測試用例、執行測試用例、提交軟件缺陷,包括提交階段性測試報告、參與階段性評審等
管理+技術路線:
首先是常規路線,這條發展路線要求管理與技術並重,由於軟件測試的行業特色決定了這個因素:測試工程師向上晉升到測試組長、測試主管、測試經理、測試總監,直至諮詢域的更高方向!
測試組長是企業項目級主管,對於中小型軟件公司也能夠是企業級主管,屬於中級發展域,適用範圍是3到5年職業經驗的測試從業者。其工做內容是根據項目經理 或測試經理的計劃安排,調配測試工程師執行模塊級或項目級測試工做,並控制與監督軟件缺陷的追蹤,保證每一個測試環節與階段的順利進行。嚴格來講,這個級別 更多屬於測試的設計者,由於企業的測試流程搭建是由更高級別的測試經理或相關管理者來作的,測試主管負責該流程的具體實施;而更多的工做,是思考如何對軟 件進行更加深刻、全面的測試。測試主管比較有創造性的工做內容就是測試設計,而偏偏不少公司忽略了或沒有精力來執行此工做內容!應該說,在一個企業裏作了 3年左右測試工做的人員,可以晉升到該職位,而之因此晉升,是與我的測試技術的過硬、測試方法的豐富,加上對測試流程的監控力與執行力的職業素質息息相 關!
測試經理是更高級別的測試管理者,屬於高級測試方向域。對於大中型軟件公司,該職位尤其重要,而且對其職業要求也比較高,通常適合5到8年的測試從業者, 在管理與技術能力雙雙比較成熟的狀況下,能夠結合具體環境晉升到該級別。測試經理負責企業級或大型項目級整體測試工做的策劃與實施。測試經理除了須要統籌 整個企業級或項目級測試流程外,還要對於不一樣軟件架構、不一樣開發技術下的測試方法進行研究與探索,爲企業的測試團隊成員提供指導與解決思路,同時還要合理 調配不一樣專項測試的人力資源(如業務測試工程師、自動化測試工程師、白盒測試工程師、性能測試工程師),對軟件進行全面的測試;另外,一些企業裏,測試經 理還須要與客戶交流與溝通,負責部分的銷售性或技術支持性工做。
測試總監,屬於常規發展路線的最高域,該職位通常在大型或跨國型軟件企業,或者專向於測試服務型企業有所設立,通常設立測試總監的企業,該職位都至關於 CTO或副總的級別,是企業級或集團級測試工做的最高領導者,駕馭着企業所有的測試與測試相關資源,管理着企業的所有測試及質量類工做。而其職業要求,也 是技術與管理雙結合。
技術路線:
技術路線中級域:
技術路線,劃分爲三個半方向,分別是自動化測試工程師、白盒測試工程師、性能測試工程師和認證測試工程師;前三者適用於通用軟件測試領域,認證測試工程師乃嵌入式測試領域職位,至少目前僅出如今嵌入式領域。
自動化測試工程師,定義在功能測試範疇,指一般所說的依靠自動化測試工具進行軟件黑盒測試的工程師。從大環境講,自動化測試是軟件測試執行階段的必然趨勢,社會對於軟件測試的承認度以及對自動化測試人才的需求必將日益增長。
白盒測試工程師,定位於在軟件測試周期的單元測試階段對軟件進行的代碼級測試的人,包括代碼走讀、代碼功能與邏輯測試、代碼內存泄漏檢查、代碼運行效率檢 查、代碼測試覆蓋率分析等。若是說,自動化測試只是依靠腳本語言完成測試腳本編寫與調試的過程(由於自動化測試工程師的工做重點不在編寫腳本),對於自動 化測試工程師的技術要求要相對偏低的話,那麼白盒測試工程師就要對大型程序開發語言的徹底掌握,所以其技術要求相對偏高!
性能測試工程師,即在系統測試階段、功能測試後對軟件系統性能指標進行採集分析和運行效率檢測的人。在一個儘可能壓縮的測試流程裏,功能測試能夠手工進行, 白盒測試能夠不作,可是性能測試必需要作,除非該軟件非網絡類軟件即單機版軟件!軟件測試,從宏觀上能夠劃分爲三個大方面:功能測試、性能測試、安全性測 試,功能測試說明軟件作對了,功能測試+性能測試說明軟件作好了,三者結合起來講明軟件作的很是好!安全測試暫且拋之不提,這是下一個發展域的內容,可是 爲了把軟件作好,爲了真正保證軟件的質量,性能測試毫不容忽視;只因目前不少企業因爲時間、成本、人力條件的限制,暫且不作性能測試。性能測試工程師相對 來講,是三個技術路線裏技術要求最高的,由於軟件的性能瓶頸歸根結底落實到代碼的運行效率這個問題上,所以性能測試要作好,性能測試工程師起碼要懂開發; 而爲了發現性能問題,要懂軟件開發架構;爲了定位性能問題,要懂操做系統、網絡協議、應用服務器乃至數據庫的原理與使用;爲了最終解決性能問題,要根據定 位的問題有針對性的對代碼、操做系統、網絡架構、服務器、數據庫進行優化!固然性能測試是一個系統工程師,絕對不是一兩我的的事情,對於常規性能測試工程 師,具有定位性能問題的能力便可。
技術路線高級域:
進入技術路線的高級域,根據中級域的四個路線,能夠細分紅五個路線,分別是資深自動化測試工程師、資深白盒測試工程師、資深性能測試工程師、安全性測試工程師、標準化工程師,這些高級技術類人才徹底與常規測試經理平齊,屬於軟件測試職業發展高級域。
資深自動化測試工程師由自動化測試工程師晉升而來。若是說常規自動化測試工程師只是負責自動化測試腳本自己的設計與開發,那麼資深自動化測試工程師的工做 內容就是自動化測試這項工做的實施!也就是說,錄製腳本-添加驗證點-回放腳本只是最初始的自動化階段,要在企業實施自動化測試,要有資深自動化測試工程 師來設計數據驅動,開發測試框架,甚至一些企業內部自主開發小型測試工具(而非商業工具)的先例,這些也都是創建在資深自動化測試工程師具備深厚的技術底 蘊後,主導其餘人員協調完成的事情。
資深白盒測試工程師,其工做內容包含常規白盒測試工程師的內容,除此以外,要協助測試經理或測試總監攻關測試方法與技術性難題,所以其技術水平更加雄厚。 若是常規白盒測試工程師是停留在某種程序設計語言類型的代碼級測試,那麼資深白盒測試工程師就要脫離程序設計語言自己,結合不一樣架構、多種開發技術交互的 狀況下,尋找代碼測試方法,並具備對代碼優化的能力。
資深性能測試工程師,來源於常規性能測試工程師,按照常規性能測試工程師的技術要求,資深性能測試工程師應該具有性能測試總體方案的設計能力,以及軟件系統性能問題定位和性能優化的能力!除此以外,也要對主流的軟件開發模式下的應用系統具備敏銳的洞察意識和感知意識。
安全性測試工程師,其實從性能測試工程師衍生出來,由於只有具有性能測試經驗的人,纔對軟件的開發模式、實現架構和技術自己充分了解,纔會感知和預見軟件 系統存在的安全漏洞,加上其本人是測試出身,才知道如何經過系統漏洞嘗試攻擊軟件系統,達到測試的目的。目前國內軟件行業對於安全性測試的認識還沒有清晰, 該職業也更沒有普及,通常只限於軍事類、機密類、防病毒類或其餘高安全性軟件的測試工做中。
技術路線專家域:
在技術路線,向上繼續提高的方向,咱們稱之爲「技術專家」;若是說前面描述的技術職位的所涉範圍都定位在企業內部,即企業級資深性能測試工程師,那麼技術 專家,咱們能夠看做是領域級專項人才!隨着軟件測試行業的職位不斷細化,每一個人在本身擅長的領域走向深刻,均可以成爲該領域的技術專家,技術專家在自已經 營的領域裏,具備我的獨到的看法和深厚的技術實力,而這類人才能夠再也不從事具體的測試工做,而是提供行業性測試技術諮詢、培訓等,爲軟件測試總體行業的發 展,起到了鮮明的帶頭做用。
管理方面:
管理方面中級域:
從事了1到3年左右的常規測試工程師,在通過對我的性格特色剖析後,若是認爲本身是一個傾向於「高管理-低技能」的類型,那麼想要實現本身的職業提高,能夠向中級發展域的配置管理工程師、質量保證工程師、業務測試工程師轉型。
配置管理(SCM)與質量保證(SQA)同是CMM中的關鍵過程域(KPA),也同是現代軟件工程裏的必要角色,與軟件測試同屬軟件開發團隊的重要組成部 分。只因這兩個角色在軟件工程裏的人員配比數量相對較少,還不如軟件測試這樣規模化乃至於造成行業,而最可能是一個職業;另一個社會現象是,企業不多直接 從社會直接招聘配置管理工程師和質量保證工程師,而一般的作法是從企業內部的現有測試員工隊伍裏選拔,而轉型後的測試工程師,就成爲SCM或SQA。分析 其緣由,咱們能夠感知,SCM、SQA與軟件測試工程師都是關注於軟件質量的類似職位,社會對於配置管理、質量保證的定義和工做內容並未普及,與其直接從 社會招聘「0」基礎的人來培養,倒不如從軟件測試人員裏昇華!通常來講,這兩種職位的上報對象是項目經理或相同級別管理者。
轉型後的配置管理與質量保證工程師,必定要轉變一個意識,那就是常規測試工程師的工做範圍很大一部分(不是所有)只限於測試流程,而配置管理和質量保證的 工做範圍是面向整個軟件開發流程,兩者的職業要求都很是重視軟件工程知識體系的創建和軟件開發整體流程的實施能力。因爲配置管理工程師除了企業配置管理流 程的搭建與實施外,通常會涉及配置管理工具的管理與維護,而質量保證工程師更多的工做是軟件開發流程的控制與維護,故而配置管理對技術的要求稍高於質量保 證。
業務測試工程師,定義爲面向行業類軟件業務邏輯與工做流測試的人員。當前軟件開發類型,很大一部分是行業類軟件的應用,如ERP、SCM、CRM、OA、 電信、金融、財務、嵌入式、通訊、手機、遊戲……這就要求從事行業類軟件測試的人員具有行業背景、業務知識,熟練該行業工做流程。從社會上出現的不少對此 類經驗要求的測試工程師招聘信息中,咱們更加確定這種趨勢;所謂存在便是道理,既然社會上有了需求,那麼就能夠做爲我的發展的方向。而另一個特色是,業 務測試工程師的工做內容主要是黑盒測試,屬於功能範疇,所以對技術要求不大,設置一些大型行業類軟件公司的業務測試工程師薪資豐厚,可是徹底能夠不懂技 術,由於它的工做性質決定了不須要懂不少的技術!他們甚至連軟件的界面測試都不作——交給常規測試工程師實施,而徹底關注軟件的業務性和易用性,因爲其深 厚的行業背景,能夠爲軟件的在正式發佈前提出不少建設性的意見,而這些建議正是軟件開發商提升產品易用性、增長用戶滿意度、開拓市場、創造利潤的關鍵因素 之一!
管理方面高級域:
當管理路線的中級域方向繼續上升至高級域,就分別到達配置管理經理、質量保證經理、產品經理、業務專家。
若是說配置管理工程師、質量保證工程師更加側重於配置管理流程、質量保證流程的實施與平常管理維護,那麼配置管理經理、質量保證經理就是更側重於配置管理 流程、質量保證流程的創建與改進。通常在中小軟件企業,可能沒有這兩個角色,而所有的配置管理或質量保證工做都由工程師擔當;可是大中型軟件企業對資深配 置管理經理、資深質保經理求賢若渴。軟件系統越龐大,軟件開發團隊規模就越龐大,軟件開發流程中出現問題的概率就越高,高效管理軟件開發流程,不斷改進軟 件質量,是每一個軟件公司在技術上沒有顧慮後的下一個急需攻破的難關!
業務專家,屬於行業內諮詢、顧問的角色,已經幾乎脫離了測試工做自己,而更多爲企業的產品需求分析、設計、開發、測試等各個環節提供指導工做,其目的也是提升軟件的易用性和穩定性,減小後期沒必要要的需求變動。該職位也一樣在目前熱點行業的大中型軟件企業有所設立。
產品經理,這個職位在不少企業有所設立,能夠說它是質保經理的派生,只是它更側重於軟件在產品化以前的質量監控工做,包括軟件開發流程、軟件測試等技術與管理的各個方面。
管理方面諮詢域域:
管理路線的最高發展域是諮詢域,與技術路線的專家域相似,在配置管理、質量保證、軟件產品化、行業領域達到高深造詣的人才,他們有豐富的從業經驗、深厚的 管理底蘊,具備對軟件工程高瞻遠矚的慧眼和膽識,每每供職在專業的諮詢與培訓公司,提供IT業管理類諮詢與培訓的服務,推進着軟件行業的前進。國內外不少 爲軟件企業進行CMM諮詢和實施的公司裏,就是這些人才的大本營之一!
因爲國內軟件測試行業目前的發展迅速、需求旺盛,在國內的軟件測試職位晉升通常要比國外快,但因行業自己太年輕,你們對軟件測試中軟件測試職業的發展瞭解 不夠,從而致使許多有志在此發展的年輕人舉步不前。因此下面介紹一下海外公司成熟的軟件測試行業職位分佈狀況,我國一些在軟件測試行業中處於前端的公司與 之也相仿,這能夠做爲軟件測試 職業規劃 的參考,給新人一個導向。
各個職業階段所需技能
第一階段:(測試員)初級測試工程師
自身條件:初入行具有計算機專業學位或一些手工測試經驗的我的。
具體工做:執行測試用例,記錄bug,並回歸測試,經過qtp等測試工具錄製迴歸測試腳本,並執行迴歸測試腳本。
學習方向:開發測試腳本而且開始熟悉測試生存週期和測試技術。
第二階段:(測試工程師)程序分析員
自身條件:有1~3年工做經驗的測試工程師或程序員。具備初步的自動化測試能力,完善自動化測試腳本。
具體工做:設計和編寫測試用例,編寫自動測試腳本程序且擔任測試編程初期的領導工做。
學習方向:拓展編程語言、操做系統、網絡與數據庫方面的技能 。
第三階段:(中級測試工程師)程序分析員
自身條件:有3~5年經驗的測試工程師或程序員。負責管理1~3名測試工程師或程序員,具備必定的行業業務知識,儲備系統分析員的能力。
具體工做:幫助開發或維護測試或編程標準與過程,分析軟件需求,得到測試需求。肯定測試需求相應的測試方法,得到測試策略方案。參與同行的評審(軟件需求,軟件測試計劃等),併爲其它初級的測試工程師或程序員充當顧問。
學習方向:繼續拓展編程語言、操做系統、網絡與數據庫方面的技能。
第四階段:(高級測試工程師)測試組負責人
自身條件:有5~8年經驗的測試工程師或程序員。具備豐富的行業業務知識,具備系統分析員的能力,專長性能測試等。
具體工做:負責管理5~8名測試工程師或程序員。集中於技能方面,擔負一些進度安排和工做規模/成本估算職責。分析性能瓶頸的緣由,爲開發團隊提供bug解決策略。
學習方向:性能測試,測試技能
第五階段:(資深安全或性能測試工程師)測試/編程高級負責人
自身條件:有8~10年經驗的測試工程師或程序員。
具體工做:負責管理8~10名技術人員。性能測試總體方案設計,軟件系統性能問題定位和性能優化,內存優化及分析數據溢出等,分析系統的安全漏洞等。 負責進度安排、工做規模/成本估算、按進度表和預算目標交付產品。負責開發項目的技術方法。爲一些用戶提供支持與演示。
學習方向:開發一些特定領域的技術專長
第六階段:測試/質量保證/開發(項目)、經理
自身條件:有10多年的工做經驗。
具體工做:管理8名或更多的人員參加的1個或多個項目。負責這一領域(測試/質量保證/開發)內的整個開發生存週期業務。爲一些用戶提供交互和大量演示。負責項目成本、進度安排、計劃和人員分工
第七階段:(公司級質量總監)計劃經理
自身條件:有15年以上開發與支持(測試/質量保證)活動方面的經驗。
具體工做:管理從事若干項目的人員以及整個開發生存週期。負責把握項目方向與盈虧責任
職業生涯規劃是人生的大事,下面我結合親身經歷,談談本身的觀點:
step1:校園階段 (畢業前1年~1.5年)
不少人的 職業規劃 是到了工做之後纔開始進行的,其實,這樣作,有很大的侷限性。凡是工做過的人,都有一個體會,就是本身的第一份工做,會影響到5~10年的發展軌跡,甚至會對一輩子產生影響。所以,選擇一份合適的工做做爲起點,是必需要在校園內思考清楚的問題。
因爲中國的教育基本是理論教育,你們在工做前的實踐能力大多比較弱,當然有其不足,但也有好的一面,那就是可塑性比較好。可塑性好表明了選擇的餘地能夠很大,所以,你們在選擇第一份工的時候,要充分結合本身的教育背景、我的能力、興趣愛好、長期目標等等,做出理性的決策。
軟件測試,特別是黑盒軟件測試是一種入門起點較低、上手迅速、且發展空間比較大的職業,所以,對於不少學生而言,做爲進入IT就業的初級崗位,是很是合適的。
校園階段的規劃,主要是選擇大的入門方向,固然,此時也能夠給本身一個長期的目標,可是沒必要規劃過細,由於,在沒有入行前,一切都還未知,把握好路線便可。
下文假設你們選擇的是軟件測試~~
step2:入門階段 (入行後3個月~1年)
對於剛剛入行的新人,這個時期是一個全面熟悉期,最可以學習到新的知識,也最有拼搏的熱情和動力。建議你們能夠藉着這股衝勁,儘量瞭解所在領域的全貌, 瞭解各個主要分支的內容、特性、優點、侷限性等等,並考察本身當前的工做環境,結合我的匹配程度和興趣愛好,根據前述內容調整本身的規劃。
對於測試行當而言,技術方面通常有幾類:黑盒測試、白盒測試、自動化測試、測試工具、專用業務技能等;相關的管理方面通常有:測試管理、質量管理、項目管理等。
面對上述形形色色的方向,建議你們能夠都稍稍瞭解下內涵,而後肯定1~2個,做爲中長期的主攻方向,達此標準,基本已經實現了入門,至於可否進得廳堂,就要看後期的努力了。
step3:提升階段(入門後3年~5年)
對於入門後選擇管理仍是選擇技術,其實這種問題,是無可無不可的,關鍵是看對本身的長期的定位了。不過,我我的建議當前階段仍是技術爲重吧。畢竟,在一個技術環境中,要作好管理,沒有紮實的基礎,也難服衆嘛。
本階段是人最容易懈怠的階段。畢竟,剛剛入行的熱忱早已被日復一日的繁複工做給冷卻,有了必定的工做經驗,勝任本職,對於大多數人而言,毫不是問題。家 庭、娛樂方面開始佔據了業餘生活的主流。但是,畢竟你們還很年輕,大多數人此時也不過20多歲,就此懈怠也是很是可怕的。所以,有規劃的提升自身核心競爭 力,在這個時候尤其關鍵。
提升是要提升的,可是對於大多數人而言,也沒有必要很拼搏,此時處在一個比較穩定的職位上的你,能夠考慮進行細化本身的中期規劃了。根據選定的方向,制定 一個自我提高的計劃,並定義好自我檢查的里程碑(譬如:每一個季度或半年算一個階段),天天或者每週,有規律的學習一點便可。抱定一個目標——「天天進步一 點點」,幾年一大成不是問題。
我我的是反對急功近利的,傾向於穩打穩紮,這個階段忌作「萬金油」,而應努力成爲有一技之長的「專家」。
對於選擇作技術的人而言,這個階段的達成標準,通常至少要可以熟悉你所選技術方向的大多數技術細節,「細節決定成敗」嘛,雖然把握全局的能力是必要的,可是做技術而言,假若不能鑽的很細很深,恐怕也很難以高手自居吧。
對於選擇作管理的人而言,我我的傾向是:此階段接觸管理的理念,並能夠介入管理,可是此階段不宜全面進入管理(除非你有更深層次的考慮,能夠不去穩打穩 扎)。學習管理的理念是很是重要的,其實管理更多一種思惟和作事的方式,這門學問很深刻,也不像技術,會不會是那麼的顯著,所以,建議多看多學,取長補 短,並努力造成本身的作事風格。高級軟件測試工程師,測試組長等,都是不錯的含有技術特徵的管理職位,此時的你應該可以勝任於此。
這個階段的達成後,你也能夠躋身老手行列,沒必要爲求職犯愁,你應該能夠很容易跳槽或時不時被獵頭騷擾下,達成此階段,你要作更深刻的規劃。
step4:昇華階段(老手後5年~10年)
此時的你,即將步入中年,不管是曾經專一技術仍是偏心管理的,都面臨着家庭和社會的雙重壓力,你不可能像年輕人同樣成天拼搏了,你須要穩定,所以,不能頻繁的跳槽,建議考慮比較正規且有潛力的企業,要考慮給本身一個長遠的發展規劃。
html
來自IT公司面試手冊 前端