軟體測試如何獲得高薪?

霍格沃茲測試學院發表於2020-04-20

做自動化測試後悔嗎?

後悔,真的後悔!

後悔沒有早點學.....

雖然到處都在散播35+的焦慮,姑且信之,那麼反問你,如果你30歲了,那麼給你5年,能夠在某個領域成為專家呢?希望你能夠在焦慮的時代靜下心來思考一下職業的規劃。文章可能有點長,預計閱讀時間8分鐘,希望在碎片化知識時代能夠引起你的短暫思考。

先說一下作為一個測試工程師,自己的“技能樹”應該如何點亮:

軟體測試如何獲得高薪?

 

看到這些,你還會說測試學的簡單嗎?

身為一名合格的測試工程師,是需要具備以下技能的:

  • 測試基礎理論/測試設計能力
  • 業務知識
  • 行業技術知識
  • 資料庫
  • 掌握程式語言
  • 搞定自動化測試
  • 質量流程管理

測試基礎理論/測試設計能力

比如說,邊界值分析、等價類劃分、因果圖、判定表、正交實驗設計等,這些基本的測試基礎,科學的設計方法能夠很好的規範我們的行為,從而幫我們理清思路和提升效率。很多人會覺得簡答,從而忽視基礎的牢固程度,往往最基礎的地方,最難做到精通。

業務知識

這個看起來很虛,貌似沒有具體的知識點,但是做過測試的都知道,往往這部分是非常重要的。如果不懂得業務知識,那就是蠻幹和瞎幹。作為一個測試人員,最應該的是從使用者的角度去思考問題,而不是開發這邊,找到核心業務和功能,然後劃分測試優先順序,定級缺陷,另外尤其對於自動化也是非常重要。舉個例子,你只有掌握了業務的特性,才能夠用自動化的手段去首先覆蓋哪些場景,把寶貴的自動化資源投入到最重要的地方。

行業技術知識

說到行業知識就海了去了。並不是我我們會一點測試方法,會執行個指令碼,使用個框架就完事了,要麼說測試要求涉獵的地方比較廣呢,而且還得要求你精通。比如前端的技術棧、API設計、後端伺服器、資料庫、服務架構等,如果這些知識都能夠打通,在面試的時候,面試官問你一個問題,你是能夠以點帶面的去闡述的,體現出來你絕對是一個優秀的測試工程師。

資料庫

無論你是做自動化和手工測試,都要進行資料效驗,SQL語言是測試工程師必會的技能之一,掌握SQL語言,然後在資料庫找到需要的資料,這個能力是必須具備的。

掌握程式語言

測試不寫程式碼?那不叫測試工程師。特別是做測試開發來說,要從程式碼層就開始進行質量把控,所以掌握語言的話,能夠讓你讀懂程式碼,也能讓你直接定位缺陷,同時更早的去預估風險和難點。另一個方面就是自動化測試,去駕馭各種自動化測試框架以及用例的開發。

搞定自動化測試

對於UI自動化來說,掌握selenium和appium,非常的重要,尤其是移動端的appium,企業的重視程度更高,基本思路都是定位元素,然後操作元素,接著獲得反饋,最後用測試框架去管理測試用例。

另外對於介面自動化來說,從投入產出比來說,比UI自動化有很多獨特的優勢,比如執行速率高,開發和維護成本低,而且可以和開發程式碼同步開發。簡單來說,就是通過模擬瀏覽器,傳送請求實現介面的呼叫,比較返回值與期望值,驗證結果。

質量流程管理

最後要說的就是質量管理了,對於測試人員來說,並不是單純的去做測試,而是負責業務的質量保證。

  • 作為 DevOps 關鍵角色,未來的軟體測試工程師和質量人員必須同時具備一定的開發和運維能力。
  • 測試人員會更深入介入開發工作,通過“測試左移”,提前與開發人員一起制定測試計劃,推動程式碼評審、程式碼審計、單元測試、自動化冒煙測試、測試精準化分析以及研發自測等來保證研發階段的質量;
  • 另外,測試人員會也會參與配置部署,將自動化測試用例配置到持續交付鏈中,並通過“測試右移”,全流程監控釋出後的應用質量。

如果你想在測試行業成為專家,先要成為高階測開,可以接著往下看!

下面談談不同level的測試工程師應具備的基本能力

軟體測試如何獲得高薪?

 

第一個:我們稱之為測試員/測試工程師

直白一點說,就是幹苦力活的。對標過來就是百度的T3、T4,阿里的P5,騰訊的T1-T2。主要的工作就是需求分析,測試方案,測試策略,測試執行,都是業務測試。當然你能夠掌握某些領域知識,比如你是測無人車的,無人車的業務是什麼,我測AI,AI是什麼,我去測大資料,大資料是什麼,測的是電商,電商系統的架構是什麼,業務知識是要懂的。再一個是帶外包團隊,可能會有一部分的外包團隊交給這一部分人去帶。主要是也就是管理這些基礎的業務測試工作。

第二個:測試開發工程師

現在第一個level是不怎麼招了,多數都是從第二個level開始招。一旦提測試開發,就一定要求你懂研發,懂測試,並且有一定的深入工作的能力。從這個level開始要求你的程式設計能力了,Java、Python、shell、SQL,這是最基礎的,然後是業務測試。

這部分人仍然會負責一部分的業務測試的工作。老大會根據你的能力,給你安排一個比例。你能力很強,80%做技術,20%做業務,如果你能力不強,那就80%做業務,20%參與一部分技術。如果你的技術太low了,那就100%的全部做業務測試。所以這個時候會根據你的能力進行合理的時間劃分。這裡面的要求就比剛才突然間就拔高了,客戶端的UI測試,服務端的介面測試,效能測試,基本上都屬於這個範疇。

面試的時候,效能與非功能測試,可能不會做一個主面試點,主要還是在自動化和程式設計能力。也就是目前大家出去找工作,你們最容易被卡的這一關。所以在這個level裡面,也是幹活的,也就是既做業務測試,也做技術上的改造,以及去寫一些自動化,但是仍然是偏重於業務的。

第三個:高階測試開發工程師/測試架構師

那麼到這個level,業務測試已經非常少,甚至完全沒有了,這個時候更多的是負責整個團隊的流程管理。流程管理體系,白盒測試體系,測試工具與測試平臺的開發,再一個是質量監控,還有一個質量管理。通常一個團隊裡面,會有一個測試的管理,加上1-2個高階的測試開發工程師,或者叫測試專家也行。他會搭建起整個的持續整合系統。持續整合、白盒測試、以及一些平臺的開發,主要會交給這些人負責。然後他會帶2-3個測試開發工程師,這些測試開發工程師一邊跟著他去學習,一邊去做業務。然後剩下的活兒,交給外包公司或者校招的人去做。

 

對於一個測試工程師,核心的競爭力有哪些?

 

軟體測試如何獲得高薪?

 

專業技能:毋庸置疑,吃飯立足的根本,隨著你的測試技術的不斷深挖,你一定會覺得自己曾經的測試想法是非常淺顯的,先要走管理也好,甚至轉崗也好,技術的深挖都是非常重要的;

管理技能:能夠帶領團隊高效的運作,高效的完成任務,測試核心王道,當然也要保證團隊內部氛圍的和諧,促進團隊健康發展。你的技術到了一定的程度,自然會擔起一定的管理責任的。

學習能力:軟實力中最重要的一環,或許聽到的比較多了,但是作為過來人建議一點,人的精力有限,把你的有限精力聚焦在最重要的方向;

溝通能力:是不是聽起來有些上頭,耳朵都聽出繭子了,自古套路得人心,但是真誠永流傳;

影響力:測試這個行業,越往上,圈子越小,北京、深圳、上海、杭州這些的測試開發、架構師類的,如果有一定影響力的,相互之間交流和學習都是非常容易的。往往越是頂尖,越樂於分享。

不進步,就淘汰!

相關文章