範文齋

做軟件測試職業規劃

如何規劃你的軟件測試職業生涯?有哪些好的方法呢?

做軟件測試職業規劃

現在關於軟件測試領域的羣體就有4種情況:

‘低管理,低技術’

‘低管理,高技術’

‘高管理,低技術’

‘高管理,高技術’

好多人對自己測試的職業發展很迷茫,個人覺得這篇文章不錯,轉給大家分享下,希望能給迷茫的人一點幫助.....

軟件測試職業發展方向,大體上可以分爲管理路線、技術路線、管理+技術路線。

  測試初級階段:

測試工程師,屬於軟件測試職業生涯的初級域,其適用範圍是入行軟件測試3年內的常規測試從業者,其主要工作內容是按照測試主管(即直接上司)分配的任務計劃,編寫測試用例、執行測試用例、提交軟件缺陷,包括提交階段性測試報告、參與階段性評審等。

  管理+技術路線:

首先是常規路線,這條發展路線要求管理與技術並重,因爲軟件測試的行業特點決定了這個因素:測試工程師向上晉升到測試主管、測試經理、測試總監,直至諮詢域的更高方向!

測試主管是企業項目級主管,對於中小型軟件公司也可以是企業級主管,屬於中級發展域,適用範圍是2到5年職業經驗的測試從業者。其工作內容是根據項目經理或測試經理的計劃安排,調配測試工程師執行模塊級或項目級測試工作,並控制與監督軟件缺陷的追蹤,保證每個測試環節與階段的順利進行。嚴格來說,這個級別更多屬於測試的設計者,因爲企業的測試流程搭建是由更高級別的測試經理或相關管理者來做的,測試主管負責該流程的具體實施;而更多的工作,是思考如何對軟件進行更加深入、全面的測試。測試主管比較有創造性的工作內容就是測試設計,而恰恰很多公司忽略了或沒有精力來執行此工作內容!應該說,在一個企業裏做了3年左右測試工作的人員,很容易晉升到該職位,而之所以晉升,是與個人測試技術的過硬、測試方法的豐富,加上對測試流程的監控力與執行力的職業素質息息相關!

測試經理是更高級別的測試管理者,屬於高級測試方向域。對於大中型軟件公司,該職位尤爲重要,並且對其職業要求也比較高,一般適合4到8年的測試從業者,在管理與技術能力雙雙比較成熟的情況下,可以結合具體環境晉升到該級別。測試經理負責企業級或大型項目級總體測試工作的策劃與實施。測試經理除了需要統籌整個企業級或項目級測試流程外,還要對於不同軟件架構、不同開發技術下的測試方法進行研究與探索,爲企業的測試團隊成員提供指導與解決思路,同時還要合理調配不同專項測試的人力資源(如業務測試工程師、自動化測試工程師、白盒測試工程師、性能測試工程師),對軟件進行全面的測試;另外,一些企業裏,測試經理還需要與客戶交流與溝通,負責部分的銷售性或技術支持性工作。

測試總監,屬於常規發展路線的最高域,該職位一般在大型或跨國型軟件企業,或者專向於測試服務型企業有所設立,一般設立測試總監的企業,該職位都相當於CTO或副總的級別,是企業級或集團級測試工作的最高領導者,駕馭着企業全部的測試與測試相關資源,管理着企業的全部測試及質量類工作。而其職業要求,也是技術與管理雙結合。

  技術路線:

  技術路線中級域:

技術路線,劃分爲三個半方向,分別是自動化測試工程師、白盒測試工程師、性能測試工程師和認證測試工程師;前三者適用於通用軟件測試領域,認證測試工程師乃嵌入式測試領域職位,至少目前僅出現在嵌入式領域。

自動化測試工程師,定義在功能測試範疇,指通常所說的依靠自動化測試工具進行軟件黑盒測試的工程師。從大環境講,自動化測試是軟件測試執行階段的必然趨勢,社會對於軟件測試的認可度以及對自動化測試人才的需求必將日益增加。

白盒測試工程師,定位於在軟件測試周期的單元測試階段對軟件進行的代碼級測試的人,包括代碼走讀、代碼功能與邏輯測試、代碼內存泄漏檢查、代碼運行效率檢查、代碼測試覆蓋率分析等。如果說,自動化測試只是依靠腳本語言完成測試腳本編寫與調試的過程(因爲自動化測試工程師的工作重點不在編寫腳本),對於自動化測試工程師的技術要求要相對偏低的話,那麼白盒測試工程師就要對大型程序開發語言的完全掌握,因此其技術要求相對偏高!

性能測試工程師,即在系統測試階段、功能測試後對軟件系統性能指標進行採集分析和運行效率檢測的人。在一個儘量壓縮的測試流程裏,功能測試可以手工進行,白盒測試可以不做,但是性能測試必須要做,除非該軟件非網絡類軟件即單機版軟件!軟件測試,從宏觀上可以劃分爲三個大方面:功能測試、性能測試、安全性測試,功能測試說明軟件做對了,功能測試+性能測試說明軟件做好了,三者結合起來說明軟件做的.非常好!安全測試暫且拋之不提,這是下一個發展域的內容,但是爲了把軟件做好,爲了真正保證軟件的質量,性能測試絕不容忽視;只因目前很多企業由於時間、成本、人力條件的限制,暫且不做性能測試。性能測試工程師相對來說,是三個技術路線裏技術要求最高的,因爲軟件的性能瓶頸歸根結底落實到代碼的運行效率這個問題上,因此性能測試要做好,性能測試工程師起碼要懂開發;而爲了發現性能問題,要懂軟件開發架構;爲了定位性能問題,要懂操作系統、網絡協議、應用服務器乃至數據庫的原理與使用;爲了最終解決性能問題,要根據定位的問題有針對性的對代碼、操作系統、網絡架構、服務器、數據庫進行優化!當然性能測試是一個系統工程師,絕對不是一兩個人的事情,對於常規性能測試工程師,具備定位性能問題的能力即可。

  技術路線高級域:

進入技術路線的高級域,根據中級域的四個路線,可以細分成五個路線,分別是資深自動化測試工程師、資深白盒測試工程師、資深性能測試工程師、安全性測試工程師、標準化工程師,這些高級技術類人才完全與常規測試經理平齊,屬於軟件測試職業發展高級域。

資深自動化測試工程師由自動化測試工程師晉升而來。如果說常規自動化測試工程師只是負責自動化測試腳本本身的設計與開發,那麼資深自動化測試工程師的工作內容就是自動化測試這項工作的實施!也就是說,錄製腳本-添加驗證點-回放腳本只是最初始的自動化階段,要在企業實施自動化測試,要有資深自動化測試工程師來設計數據驅動,開發測試框架,甚至一些企業內部自主開發小型測試工具(而非商業工具)的先例,這些也都是建立在資深自動化測試工程師具有深厚的技術底蘊後,主導其他人員協調完成的事情。

  淺談軟件測試職業規劃

每個在國內軟件行業做了若干年的人都會糾結於繼續技術還是轉管理,軟件測試人員也不例外,但管理職位畢竟有限,要去爭取還是要靠過去的積累,每個人的起步不同,奔向目標的路自然也不同。 本文分享個人對測試職業規劃的理解,每個人經歷不同,理解也不同,所以僅供參考。

  首先要做的是分析和定位自己;

分析自己的優劣勢,這其中包括: 行業背景,專業技能,語言能力,業務能力,管理能力等; 這一點非常重要,每個人都可以列出自己的優勢以及不足,給自己設定的目標也會更切合實際。

  其次,發掘自己的興趣;

喜歡與人打交道還是更喜歡與機器打交道? 喜歡銀行業務還是移動互聯網? 喜歡研究腳本還是理解業務需求?….之所以強調興趣,是因爲興趣當頭,無論做什麼,人都是很有激情的,因爲是自己的喜歡的。

  然後,分析市場需求,結合自己的優劣勢和興趣給自己定位;

看市場上需要什麼樣的人才,未來需要什麼樣的人才; 個人的目標是什麼?國企還是外企?大公司還是小公司?還是更喜歡創業公司? 在什麼樣的公司和職位可以發揮自己的優勢?

  最後,爲自己的目標而努力:腳踏實地,堅持!

理論上,工作10年+之後,行業影響會越來越小,因爲個人的專業技能以及管理等綜合能力對於若干職位都是相通的,所以不要僅僅埋頭在軟件測試,建議也關注所有與軟件測試有交互的職位所做的事情,會幫助我們更加深入地做好軟件測試。

  貼上《軟件測試質量保證》書上的一個通用規劃供參考:

1~2年,測試技能:熟悉整個測試過程及產品業務領域,學習和掌握自動化測試工具,學習測試自動化編程技術;開發和執行測試腳本,承擔系統測試實施任務;掌握編程語言、操作系統、網絡與數據庫方面的技能。

3~4年,測試過程:深入瞭解測試過程,掌握測試過程設計及改進,參與軟件工作產品的同行評審;進一步瞭解產品業務領域,改進測試自動化編程技術;能指導初級測試工程師;加強編程語言、操作系統、網絡與數據庫方面的技能。

4~5年,測試組織工作:管理1~3名測試工程師,擔任任務估算、管理及進度控制;進一步培養在軟件項目管理及支持工具方面的技能。

5~6年,技術管理:管理4~8名測試工程師,提高任務估算、管理及進度控制能力,完成測試規劃並制定測試計劃;研究測試的技術手段,保持使用項目管理及支持工具的技能;用大量時間爲其他測試工程師提供技術及過程方面的指導;開始與客戶打交道並做演示推介。

6~12年,測試管理:管理8名以上測試工程師,負責一個或多個項目的測試工作;與客戶打交道並做演示推介;保持使用項目管理及支持工具的技能。