1. 程式人生 > >軟體測試職業規劃的思考

軟體測試職業規劃的思考

前言

     入軟體測試行至今已經8年多,承領導們的信任與重用,同事的支援與信任,我的職業發展算是相對較好,從入行到各類測試技術崗位,再到測試總監,每一步都剛剛好。最近在自身職業發展瓶頸,人生十字路口,靜坐反思,重新審視個人規劃與測試人員發展的這個問題,問回自己:你為什麼做軟體測試工程師?胡思亂想之下有了此文。

一、軟體測試起源

網上有一些經典的軟體事故,大家感興趣可以自己搜尋一下,我搜了幾個列舉如下:

簡單總結:軟體出現缺陷(BUG)導致經濟或其他損失,因此有了軟體測試。

由此可知軟體測試目的:發現缺陷(問題),發現至今未發現的缺陷(問題)。

注:有興趣的可以去找找國內的兩個事件:溫州動車事件,2013年8·16光大證券烏龍指事件

二、測試行業現狀

  • 每年測試人員大量湧入,但需求仍大於供給

國內各種測試培訓機構、軟體測試網站的增多,質量意識的提升,軟體測試人員已成為IT一個重要的職位,湧入的人也越來越多。但網際網路+的概念,傳統行業轉型網際網路,公司業務量激增,創業風潮,人員流動等缺口依然會有。

  • 測試在各公司地位不一

通常分兩種情況,一大多公司重生產崗位(研發等),測試屬支撐部門,話語權低,而測試為軟體最後出口,所以通常背鍋(承擔責任)會比較多,需要平常心,並積極主動推進流程優化。另一類,有成熟的質量體系的公司,會以產品質量為先,使用者至上,會實際關注測試質量,相對是比較理想的公司。(其他變種型別暫不予參考) 

  • 測試人員能力參差不齊:

測試門檻低,入行容易,導致很多專業知識不夠紮實,只懂得一些表面上測試技術。學習的技術淺且雜,多注重工具的使用,思想的培養建立較少,不關注工具為什麼要用,何時用,僅僅是為了高薪資而學,為了KPI而推廣。

SFRJ的技術總監就曾與我談論過這個問題,我大約的觀點是你招人的目的是什麼,像之前我的團隊有技術專家,也有偏重活躍氣氛,組織活動,溝通管理等,咳咳,扯遠了。

  • 薪資差距較大:

拿1-3年軟體測試的來說,低的2K-8K,高的8K-20K,各種因素影響:比如個人背景:名校畢業,碩士博士;比如地域企業:北上深廣,華為BAT;比如測試專業領域:自動化測試、效能測試、安全測試;比如創業風潮:網際網路、無人機、金融、AI等。

所以努力提升自己,爭取脫穎而出搶灘那20%專家精英的位置。

三、測試行業前景

回到文章開頭的問題:你為什麼做軟體測試工程師?這也是我面試招聘時常問的一個問題,梳理回答大約可以歸為兩類:

  • 其一,大概意思是喜歡測試這個工作;
  • 其二,IT工資高,想搞IT,但不會程式設計,測試門檻較低。

 非常傾佩喜歡測試工作的同行們,我也是因為喜歡計算機,測試門檻低才加入測試大家庭。後面喜歡上享受測試帶來的成就感,享受獨自定位問題那種喜悅的心情。我簡單梳理了幾個軟體測試職業的特點,以供大家參考。

軟體測試職業特點

  • 入門快,薪酬高
  • 學歷門檻相對較低
  • 市場需求大,就業競爭小
  • 職業生涯壽命長,發展空間廣闊 
  • 無性別歧視,女生有時勝過男生

軟體測試基本內容

  1. 儘可能發現缺陷
  2. 儘早發現缺陷
  3. 提升發現缺陷的效率

軟體測試崗位

軟體測試工程師,部分公司提升為質量保障工程師,賦予了更多的工作職責,但我們今天主要討論基本的工作。按我自己的理解,對上文工作內容與現有的技術職位做了下對應(僅舉例但不限於以下職位)

  1. 功能測試工程師,效能測試工程師,安全測試工程師等,根據業務的不同,比如WEB測試、H5測試、APP測試、SDK測試、介面測試等
  2. 整合測試工程師,白盒測試工程師,QA配置,資料稽核等
  3. 自動化測試工程師,測試開發工程師,測試工具開發等

Findyou:

一般來說,3-5年是非常搶手的一波同學,相對新手多了一些經驗,相對5年以上的能沉下心踏實做事。

當然技術不是以入行時間為標準的,但是你想每天從海量的簡歷篩選人員,HR或者司或多或少會有這樣一個簡單的門檻參考。也常有比如2年工作經驗,會的內容甩5年的幾條街。關鍵精力在哪,成就在哪

今天逛了下幾大招聘網站,深圳效能測試、安全測試現在基本18K+,自動化基本15K+,北京上海的更高,可以定時去各大招聘網站檢視一下行情。

改天抽時間弄個數據爬蟲,去招聘網站抓取分析一下出個報告。

四、測試職業規劃

     凡事預則立,不預則廢。"先定個小目標,比如掙它一個億",比如"當上CEO迎娶白富美走上人生巔峰",然,人各有志,所追求的理想不同。無從下手時,我們先通過搜尋引擎看看,看看其他人的建議。

職業規劃(來源網路)

  • [1~2年],測試技能:熟悉整個測試過程及產品業務領域,學習和掌握自動測試工具,學習測試自動化程式設計技術;開發和執行測試指令碼,承擔系統測試實施任務;學習程式語言、作業系統、網路與資料庫方面的技能。
  • [3~4年],測試過程:深入瞭解測試過程,掌握測試過程設計及改進,參與軟體工作產品的同行評審;進一步瞭解產品業務領域,改進測試自動化程式設計技術,能指導初級測試工程師;加強程式語言、作業系統、網路與資料庫方面的技能。
  • [4~5年],測試組織工作:管理1~3名測試工程師,擔任任務估算、管理及進度控制;進一步培養在軟體專案管理及支援工具方面的技能。
  • [5~6年],技術管理:管理4~8名測試工程師,提高任務估算、管理及進度控制能力,完成測試規劃冰制定測試計劃;研究測試的技術手段,保持使用專案指導及支援工具的技能;用大量的時間為其他測試工程師提供技術及過程方面的指導;開始與客戶打交道並做演示推介。
  • [6~12年],測試管理:管理8名以上測試工程師,負責一個或多個專案的測試工作,與客戶打交道並做演示推介;保持使用專案管理及支援工具的技能。

 ---出自《軟體測試質量保證》

     其實已經都非常詳細的步驟了。需要有所發展取決於三點:業務技能、專業技能(測試技能)、管理技能。通過對自己這三方面的評估,綜合選擇自己要走的道路。以下是我簡單做的一個發展路線:

測試崗位路線

  • 管理:IT做管理,技術深度與廣度都會有一定要求,基本管理技能為主,專業技能、業務技能為輔。管理者不懂技術,很難服眾。因此,技術沉澱是必須的。在一步一步往上爬,人生目標指日可待。

  • 技術:Findyou說技術在手,隨辭隨走!開玩笑的,但有技術不愁沒工作,當然人品還是要的。

  • 建議技術高薪方向:白盒測試、自動化測試、效能測試、安全測試,當然有機會走管理也別放過機會,畢竟管理薪資不低哈。

轉崗其他路線

  • 方向選擇:很多入行測試只是過渡。由測試崗位的鍛鍊,涉及到軟體各個崗位的接觸。此時轉崗容易不少。比如業務技能強、市場敏感度、洞察力厲害的建議產品經理、運營方向;比如喜歡編碼加班,咳咳,是喜歡與機器打交道建議研發、運維方向等;喜歡與機器打交道的可以走運維、研發路線。喜歡與人溝通的可走銷售、HR路線。

  • 建議高薪方向:自行看圖(拉勾釋出的2015-2016薪酬報告)

五、我的核心競爭力是什麼?

 原本是自己的思考,不知不覺寫了這麼多,這是我問自己的第二個問題?不想拘泥於各種模型,按思考與想到的方向隨意列了幾個點。

  • 學歷:肯定不是,大公司本科學歷是硬性要求(最低標準),我如是211?985?碩士?博士?海歸?,那肯定找個idea,大膽去路演融個資,自己搞公司。

  • 過往經驗:Maybe,8年、10年測試經驗,相對有一些競爭力。

  • 影響力:人脈比不過BAT,往上拓展相對不易,思想層次、長遠眼光等必須得跟得上,這些年耳濡目染連爬帶滾勉強能跟得上。橫向拓展無,而之前精力投入到了工作,沒時間,婉拒了第三方APP測試培訓講師的兼職,因此同行影響力無(同事另說)。

  • 學習能力:Maybe,一直有學習的習慣,但碎片化的閱讀掌握不深,造成知識面廣而不精。與SFRJ的技術總監他給了我一個觀點,“人精力有限,有精通兩項技能是比較合理的規劃,建議我走專家管理型”,我比較認同。

  • 專業技能:Maybe,測試領域知識的在不斷深入,測試思想的也在不斷提升修正。當然為了專業性不再只是限於測試領域知識,需要了解開發語言缺陷、瞭解演算法優劣、瞭解驅動硬體特性、瞭解各作業系統機制、優化流程制度、定製測試工具、及時預警風險等,因此,我還有很長的路要走。

  • 管理技能:Maybe,雖一直在管理崗位混著,是否勉強入門不得而知,但起碼帶的團隊能高效運作完成任務,離職率也很低。不過,對於彼得德魯克的管理哲學,吳伯凡老師的中西文化,馬雲老師的大眾勵志等,形成自己的系統理論還有非常長的路。知識拓展固然重要,但學以致用才是王道。而能保證團隊的正常運作生產是根本目的。

  • 溝通能力:誰知?技術交流居多,閒扯也有,因處管理崗,現變得傾聽居多。溝通技巧滿大街都是,比如建立同理心什麼的,雖然套路得人心,但IT厚實單純的人佔大多數,儘可能保持真心實意的溝通,才能問心無愧。

非常出色GWC的HR D(Franny)對我用能力素質模型進行了評估,評估給了適合管理方向。

我自己的梳理其實基本完成,也有了大致的方向與想法,期待今年的發展。

六、淺薄的建議

 又是跳槽招聘季,咋們這行公認漲薪不如跳槽加的快。不建議頻繁跳槽,履歷不太好看,當然不排除有喜歡這類的公司。前面那句是廢話,所以隨心而為吧,下面阿旺給出的小小的建議,適用就採納,不適用看完就丟:

  • 跳槽原則:

要麼符合你預定的規劃發展路線,要麼就高薪,否則沒事不要亂跳,當然實在呆不下去另說。

  • 面試建議:
  1. 理解透JD(職位描述),瞭解具體的工作內容,針對性準備知識點。

  2. 瞭解自己簡歷內容,基本技能知識點,過往專案,專案熟悉程度(要求畫個架構圖、流程圖很常見)。

  3. 簡單複習一下基本理論,功能、自動化、安全、效能。

  4. 背熟一倆個例項備用,比如你寫有精通效能測試,寫的哪個專案,具體執行:基本指標含義,效能標準,專案背景,如何制定計劃,何時執行,報告輸出等(調優這個太難,慢慢來)。如果你做假了,請做得專業一點,網上例項背熟吧,雖然我不建議如此做。

  5. 找找網上洩露出的面試題,看看招聘職位下其他應聘者的評論,去各QQ群裡找找在這個公司的同行等。

  • 為面試短時間瞭解一門開發語言:

1、瞭解語言的特點

2、知道順序、迴圈、分支

3、字串、檔案的處理

4、陣列處理

5、網路通訊、異常處理

6、面試題

多見者博,多聞者智,拒諫者塞,專己者孤。

參考:

[1] 薪酬參考 http://article.zhaopin.com/payquery/index.do

[2] 盤點史上最具毀滅性的20個軟體Bug https://news.cnblogs.com/n/506103/ 

[3] 2016薪酬資料 http://www.jiemian.com/article/1011879.html

轉載說明

本文為原創文章,如需轉載,請在開篇顯著位置註明作者Findyou和出處