月薪過萬這個話題,在如今這個百花齊放的職場裏是個很流行的命題。linux
月薪過萬對於行業大佬來講,多是個不屑一顧的追求,但對於職場新人而言一般是個很實際的人生目標。shell
我怎麼樣能達到月薪過萬呢,其實嚴格來講,要找到一份知足你薪資指望的工做有三個要素:數據庫
作爲一個悶騷IT技術宅,我最能回答的主要是第一點:怎麼進行我的提高,畢竟功夫到家纔是硬道理。編程
軟件測試從業人員可能都有這樣一種感覺,就是幹這一行你要會的東西太多了,說的通俗一點就是知識庫龐雜。windows
在這個信息爆炸的時代,咱們能夠學習的東西太多了,看起來不少東西都能實現我的價值的提高。好比去學一本駕照,好比去學游泳,學健康養生。。。安全
測試工程師學什麼?服務器
我我的會把測試工程師的學習提高路線分爲四條主線:網絡
在不一樣的路線上去深化,會引領你走上不一樣的職業發展道路。架構
第一:先說測試技術,大體羅列一下,測試工程師須要學習的東西:框架
首先是測試的理論,有的人可能作了幾年測試,積累了一些經驗,就對這方面樣的知識有些瞧不起了。其實我我的認爲,理論始終是指導實踐的最堅實基礎。
作測試咱們能夠在工具、技能上面不斷的雕琢,但其實測試的基礎一樣也是須要咱們不斷鑽研的東西。
要學會從宏觀的高度去看待測試工做:
測試的最終目的是交付高質量的產品;
產品的質量需求又是由項目性質決定;
測試工做不能脫離團隊而存在;
測試如何服務於產品質量把控和風險緩解;
客戶想要的到底是怎樣的產品特性和功能;
一個缺陷的背後,揭示的是怎麼樣的過程問題;
要學會從微觀的角度去切入測試工做:
對於複雜的測試目標,有哪些方法論能夠幫助我實現測試;
對於模糊的質量定義,我怎麼挖掘其真實需求;
發現了問題,我怎麼去對他進行分類和定位;
測試的數據怎麼設計才能達到足夠的覆蓋;
測試用例怎麼編排描述才能達到最好的效果;
如何進行反饋才能讓發現的問題獲得最有效的解決;
測試基礎和理論就像一個俠客的內功,不管你的劍耍得有多六,最終決勝負仍是要靠內力。
再說測試工具,作爲IT從業人士,工具的使用多是我的能力的最直接體現,是一種很外露的本事。
軟件測試這個行業所涉及的領域很是普遍,從行業的角度來講,如今幾乎全部行業都要上IT系統,連冰箱都要聯網了。涉及行業的普遍,決定了咱們在工做中可能用到的工具也種類繁多。
同時,軟件產品質量的維度也很是的多,功能性、安全性、互操做性、負載、壓力、易用性、兼容性、可維護性、可移植性等等等等。每一種質量的維度可能都有最適合去應用的一些工具。
還有一些操做系統級別和基礎應用級別的工具,好比數據庫,好比linux,好比JDK,中間件,咱們也要去掌握。他們是咱們開展測試工做必不可少的(你早晚會用到)工具。
在必定程度上,學會了一種工具,就意味着你測試工做的領域就被拓寬了一點,很天然的這會是你升職加薪的有效砝碼。
不過在工具的學習上,仍是有一些策略能夠去應用的。不要被所謂工具的‘高大上’和‘酷炫感’這樣的特性吸引,盲目去學習那些看起來很厲害,實際應用價值和範圍卻不大的工具。
無論是從升職加薪的角度而言,仍是自我提高的角度而言,咱們應該優先去學習市場應用面廣的,最有用有實際價值的工具。人的精力和時間都是有限的,從最有用的學起,切忌好高騖遠。先把基礎的經常使用的工具學好,慢慢再去學習高階工具是一個最優策略。
並且工具這個東西,實際上是舉一反三的,等你學好了一部分工具,另外看起來高階的那些說不定對你來講就已經很容易了,無非是去體驗他的實際應用場景而已。
最後呢,學習工具不要只停留在應用級別,即不要只會用,要知其然知其因此然。工具的操做流程,不如他實現的原理對你來講更有價值。
接下來是編程技術,其實不少理論裏把測試編程技術也歸爲工具的使用,不過咱們把他單拿出來講。
也許有一些測試工程師實際上是由於不愛寫代碼才作了測試這行,可是要在測試技術領域深化下去,編程技能又是不可或缺的。
是否是很糾結。
測試工程師的編程能力到底有什麼用處呢?總結一下主要在如下方面:自動化測試、腳本編程,白盒/單元測試以及測試開發。
自動化測試是如今比較火的一個領域,沒必要多說。學些自動化測試編程,咱們的目標應該不僅僅是應用,更應該深化到框架的編寫。
腳本編程是腳本語言的應用,好比shell腳本和windows批處理這類工做控制語言,許多IT項目會很依賴這類腳本去作工做自動化控制,好比CI環境部署。
掌握編程知識一樣也會幫助咱們去完成白盒/單元測試這樣的任務。若是咱們在編程能力和測試能力雙向深刻發展,測試開發是一個很好(薪水也很高)的發展方向。
一個前提要說到的就是,測試工程師的編程技術門檻是比較低的。咱們在學習代碼編寫以應用到測試工做時,一開始其實不須要多深刻。
好比作爲一個測試工程師去學習自動化編程,入門級級別來講,咱們只用學習現有自動化工具和類庫的使用,其實學習難度並無想象的那麼高。
隨着學習的深刻,當你有了更高的追求,再進一步去在編程領域內深造是個不錯的選擇。好比上文提到的去寫框架,去改進框架,去引領一個機構的自動化測試。
學好了這些技術,無論是綜合發展仍是專項深造,咱們的職業發展路線會向技術型深刻。好比成爲自動化測試工程師,性能測試工程師,白盒測試工程師又或者是安全測試專家等。這些職位比起測試基礎崗而言,薪資水平是有着顯著上升的。
第二:是行業知識
IT歸根結底屬於第三產業,第三產業是什麼?通俗一點來說就是服務業。IT產業是爲其餘基礎行業服務的,最終咱們要完成的事情是讓傳統的事務處理IT化,自動化,網絡化。
這就牽扯到一個問題,不論咱們作怎麼樣的項目、系統或軟件,他的最終應用會是在另外一個與計算機體系無關的領域,好比金融,好比零售,好比醫療,等等。
作爲IT從業人員,除了本行的計算機應用技術之外,這些行業的知識就成爲了咱們須要學習掌握的第二學科。
將行業理解的透徹,是另外一條IT人員必點的技能樹,對於軟件測試而言尤爲如此。由於作爲項目的測試和質量把控,咱們只有很是瞭解軟件應用的領域,才能更好的幫助咱們對項目質量進行把關;而軟件測試傾向的用戶立場,也要求咱們必須可以以專業的角度去衡量咱們的產品在專有領域的適用程度。
好比在金融領域,真的要作好這一行的測試,財務領域知識、基金會計技能有的時候可能比你的測試技術更爲重要。畢竟若是不精通這一領域的東西,你可能連繫統到底要怎麼實現用戶/市場需求都把握不許,更不要提很好的把控產品的質量了。其餘領域也各自都有不一樣程度的對行業知識的要求。
固然,有的時候測試工程師可能會有這樣的經歷,本身就像個僱傭兵,在數個項目之間來來回回,根本沒有固定在某一個行業領域當中。客戶要什麼系統,咱們就去測什麼系統,在數個不一樣領域之中展轉徘徊、淺嘗輒止,根本沒有時間讓我在某個領域中間去沉澱。
這是一種現實狀況,在這種狀況下,你對於某個行業的積累仍然能夠幫助到你,可是你卻很難成爲該領域的專家。
不過若是你有機會在某個領域的測試工做中穩定下來的話,我會更推薦你去在這樣的領域內深刻,將測試技術和行業知識雙向發展。
當測試工程師有了足夠深刻的某行業領域專業知識和技能之後,那麼咱們的發展方向就能夠是‘領域測試專家’和‘領域測試諮詢’。這樣的人才在該行業內,必定是很是受歡迎的,高薪固然不成問題。
第三:是職場能力
職場能力能夠說是一種我的素質和綜合能力。
不論咱們有多好的測試技術和行業知識,都須要有強大的職場能力去輔助,咱們才能將本身的專業能力更好的發揮出來,不然別說當大牛拿高薪,可能工做能不能保得住都難說。
職場能力有哪些呢,我概括了一下:
溝通能力:自不用說,測試工程師可能在一個IT團隊裏是溝通任務最重的,也是最須要溝通能力的。咱們的測試工做強依賴着其餘工做團隊的產出,因此咱們不但要溝通,還要會溝通;其次,咱們測試工程又承擔着項目質量反饋和過程改進的做用,這又要求咱們要把測試結果和結論進行很好的溝通。測試人員不能不講究溝通,溝通技能的差異是關係到咱們團隊地位和我的評價的很是重要的因素。
自律能力、時間觀念和用於擔當放到一塊兒說,都是一我的責任感的體現。咱們不鼓吹放棄本身應有的生活和娛樂,一心一意撲在工做上,作測試崗位上的勞模。可是在你份內的工做時間內,咱們要盡心盡責的去作好本職工做,作本身該作的事情,該擔當的責任要用於擔當,捨得奉獻。用本身的目標鞭策本身,無論你是爲了養家餬口仍是自我實現。進一步說,要主動去發現工做中的樂趣,幹一行愛一行,切忌眼高手低。
學習和思考能力:要求咱們有好的學習和思考意識,也要掌握好的方法論。IT行業不斷髮展,新興領域不斷涌入對咱們的行業產生衝擊,都要求咱們必須肯學並且能學,在學習和工做中勤於獨立思考,善於發現問題,總結問題,提出解決方案。創新能力則是學習和思考能力的一個進階體現。
規劃能力:測試基礎工做提及來是由一些很繁雜的事項組成的。即便你的職位在測試路線上越走越遠,你仍然擺脫不了必定程度上的瑣事。因此這就要求咱們有系統的規劃能力,測試新人在剛入行的時候可能會以爲,細心細緻對於測試這樣一個‘找問題’的工種而言多是最重要的素質,其實系統的規劃能力纔是咱們作事的必備技能。即便是天生不夠細心細緻的人,經過有效的系統規劃,也能夠避免咱們由於粗心大意而犯下錯誤,而且能夠幫助咱們對繁雜的工做事項和對象進行抽絲剝繭,把握主線,幫咱們更爲輕鬆高效無紕漏的完成工做。
抗壓能力:作IT作測試,免不了會有工做上的壓力,無論是工做時長上的,仍是工做成果上的。要學會抗壓,遇到挫折時不能輕易氣餒,完成成果時戒驕戒躁。也要學會判斷壓力是否合理,加班的壓力合理嗎?領導的質疑合理嗎?要學會科學的判斷,科學的應對。其實相較而言,測試崗位的壓力其實算是中等水平,不要被工做壓垮,不然又何談升職加薪。
第四:是管理能力
對於測試工程師來講,隨着經驗的積累和在這個行業的深刻,轉作管理崗多是咱們每一個人都會去思考的一個方向。
當領導固然有不少好處,好比地位的上升,好比薪資的上漲--特別是在薪資的上限上,作管理和純作技術仍是有着明顯差異的。
要作測試管理,除了有相應的機遇以外,固然咱們我的在管理能力上也要作好準備。
我將測試管理能力劃分爲三個維度,分別是:
測試組織能力讓咱們學會怎麼去組織,策劃,實施,監控和彙報一個測試項目。讓咱們能把測試這個工程給完成好,也要讓他很好的完成風險管控、質量反饋和過程改進的做用。
測試技術能力讓咱們作爲測試的管理人員瞭解技術在測試活動中的應用場景和機會,讓咱們有能力去把控一個測試工程對於技術的引入和使用。也須要咱們有相應的技術能力,去指導具體技術在工程裏的使用,提及來其實仍是須要咱們在第一點:測試技術上面下功夫。
團隊管理能力是與人打交道的能力,對上溝通,對下管理,團隊建設,團隊提高,管理團隊內部各類各樣的人才,讓他們能爲你所用。這也是一門專門的學問。
學習好了管理能力,再遇到適合的機遇,咱們就能夠去向測試lead,測試經理,測試主管方向發展。
固然其實一旦你作到管理崗,後續的可能性就要增大不少,高管的機會大門就將向你敞開。取決於我的的把握,其實最後成爲CTO,部門經理,VP都是有可能的,固然他就不屬於測試崗位的直接進階了。
以上咱們說到的四個方向,大部分都不是獨立存在的,在實際應用的場景中更多的是交織在一塊兒,造成一個測試人員的能力體系。他們之中能夠有側重,這些能力上的側重指引就咱們的職業方向。
好比說在測試技術方面加劇投入,咱們的方向多是測試技術專家和技術專項領域;
測試技術和管理能力雙修,那麼可能的方向能夠是測試架構師,測試lead;
測試技術和行業知識雙修,那麼又能夠成爲領域測試專家。