【本文做者介紹】思寒,資深測試架構師,霍格沃茲測試學院校長,開源自動化測試工具 AppCrawler 做者,有 10 餘年軟件測試開發經驗,曾任職於阿里巴巴,百度、雪球等公司。面試
有很多測試同窗反饋,2020 年好難啊,在各類壓力下,陷入了對本身和將來測試職業發展的迷茫。今天就一塊兒來重溫下經典,重塑信心,破解迷茫。經過本文分享下對測試工程師職業發展的見解,話題較大,不敢隨便亂寫,拋磚引玉,僅供你們參考。
中國最先的對 IT 工程的啓蒙和測試定位的探索大多來自於微軟。當年的大背景是微軟故意聽任 Windows 的盜版,並積極的輸出他自身的 IT 生態技術棧到中國。中國從政府到民間幾乎所有使用了 Windows。中國有大量的微軟認證的 VP 等各類專家。算法
微軟和他的附屬生態帶給中國測試行業的影響,簡單總結下:架構
外包公司發展迅猛。短短的幾年。中軟,東軟,軟通動力,博彥等公司迅猛的發展起來。框架
當互聯網世界開始爆發,測試行業的主要變化是:運維
移動互聯網爆發,IT 研發技術棧和雲計算服務也發展迅猛,這讓小公司的生產力有飛躍性變化,也催生了一場席捲全球的創業浪潮。這股浪潮起源於硅谷,並迅速經過"Copy to China"模式燒到了中國。另一個是中國大環境的變化,致使了外資企業生存困難,不少優秀的企業都從中國撤離。機器學習
這期間的測試行業發生了以下的變化:工具
人類已經進入 DT 時代。大數據,機器學習,深度學習,圖形渲染等技術棧也已經成熟了。隨之而來會造成新的生產力並落地到測試行業,這個階段你們剛開始感覺到。我暫時不作評論。性能
之因此列舉過去的行業變化,實際上是爲了告訴你們,不要認爲目前的模式就是行業的長期現狀。目前不一樣企業仍然是處於不一樣的理念和不一樣的歷史階段中。沒有絕對的對錯,只有適合與否。單元測試
這些變化都是圍繞着幾條核心的主線發展的:學習
業務發展帶來了對質量和速度的追求。這是整個行業發展的主線。
業務發展的需求影響到了產品研發和測試。它和資本同樣是貪婪的,無時無刻不在追求着突破瓶頸。追求更快更好的發展。它決定着不少公司的生死和不少行業工程師的前途。研發,產品,QA 都是要爲業務服務的。
技術是生產力的重要組成部分,技術的發展是自帶加速度的。每次質變都會帶來一些行業重大的變動。技術的成熟度決定了測試行業的成就能作多大。
做爲測試工程師要善於利用當前的技術棧打造符合當前需求的解決方案。
公司主體在追求簡單高效的管理上是永不止步的。技術和工具的每前進一步,就意味着組織溝通的能力在加強。管理這個方向會逐漸的扁平化。高層管理會愈來愈少。一線管理會愈來愈多。
做爲測試行業比較尷尬的一點是大質量部模式模式的消失,讓測試行業的發展開始遭遇天花板。若是 Hold 不住研發和產品,在測試行業發展的人是無法往上有很好的晉升的。
我根據測試人才的基本屬性並用實際的例子總結,按照 8 年跨度(08-16),總結了行業的一些典型人才的職業發展示狀(鑑於隱私要求,模糊了相關數據,與真實狀況略有誤差)。
我手裏也有更多的數據,以前也一直想搞個決策樹模型,可是一直沒完整的作出來。此次就先簡單列舉這幾個典型個案,簡要分析下測試人的職業發展關鍵因素。
做爲我的發展,個人建議是紮實的提高你的技能,培養好你的人脈和軟實力。至於運氣和選擇不用焦慮,若是你有能力,天然會有高人拉攏你。好比以前就常常有朋友聯繫我,說是 XX 公司要發期權了,XX 公司要上市了,跟咱們一塊兒幹吧。人品好,技術好,你們都會喜歡與你爲伍的。
這會斷送你的整個前程。在一些面試場合,若是面試官問你願不肯意作管理,若是你回答是,那麼面試基本就掛了。必定要確認面試你的人是否是真的但願你走管理路線。大多隻是測試你是否是真的是個實幹家。
過早參與管理工做也會致使我的技能發展的不健全。這會爲之後帶來隱患。過於追求權力必然也會引起辦公室政治和各類利益鬥爭。因此請謹慎面對這個毒蘋果。
每家公司都有本身的薪資體系。你要參考這個數據來合理的肯定本身的薪資,不要有幻想。不要以爲別人由於某次成功的忽悠拿到多就懊惱。
一個優秀而紮實的工做經歷會讓你受益一輩子,會爲你的簡歷增光很多。對於這種機會降薪也值得去。
一個合理的節奏是,剛參加工做 1-2 年內主要是積累能力,薪資能餬口便可。2-5 年,能夠適當的跳槽追求更好的待遇或者更閃光的工做履歷。5年以上,就是要物色好的機會一飛沖天了。
若是跳槽太多,一些大公司也會很是的在乎,會影響你的面試。好比工做經驗不到一年或者兩年就跳槽的人,很容易被 BAT 認爲輕浮。
鑑於過去的大形勢變化,不懂技術的測試工程師會逐漸被淘汰出局。一波測試工程師的失業潮是在所不免的。雖然早期我也呼籲身邊的人趕忙脫離落後的業務體系,脫離落後的測試技能,可是看到不少人愈來愈生活艱難,也是挺心痛的。
包括測試工程師的需求愈來愈少,招聘職位也愈來愈少,典型的新崛起的巨無霸公司好比 Facebook 早期都沒有 QA。甚至前幾年一度有 QA 團隊是否值得存在的爭論。表面看起來是測試行業衰落了。
有趣的是,你們討論 QA 團隊是否值得存在的初衷,是爲了更好的保證質量。這仍是挺回味無窮的。絕大多數的公司,都是很是支持 QA 部門的存在的,問題在於 QA 團隊的存在的價值究竟是大仍是小。
過去陳舊的測試體系,落後的測試人員能力,冗長的測試流程是被整個 IT 行業詬病的一個關鍵。當研發的生產力在逐漸的提高,運維的部署在逐漸的自動化,QA 所帶來的價值和耗費的成本就愈來愈不能忽視了。甚至成爲了一個項目的最大的成本。
這是任何一家公司都沒法忽視的問題。早年阿里巴巴的高管曾經集體去硅谷拜訪新崛起的巨無霸,獲得的結論就是他們的流程和執行力比國內強不少。甚至 Facebook 早年都沒有 QA 就成長爲大公司了。因此阿里就迅速推進了流程的裁剪。這部分包括裁撤 SQA,裁撤需求分析師,裁撤項目經理,削減 QA 名額。進入產品,研發,測試三足鼎立的最簡模式。
QA 會不會被撤掉也取決於這個部門的價值。因此不要想固然的以爲"存在即合理",如今部分的公司已經在試驗"無 QA"的模式了。互聯網行業惟一不變的就是變化。
好比一個典型的例子,在搜索,推薦,機器學習等方向的算法測試是很重要的領域,是須要專業的測試工程師參與的。這個行業能容納不少的測試團隊。可是測試行業這些年就沒造成對這個領域的正確測試方法,結果最後丟失了這個市場。如今都是研發本身保證了。由於找不到合格的測試工程師去保證這個業務。
一樣在性能測試領域也是如此,隨着性能測試平臺,全鏈路壓測,性能監控,AB Test,雲壓測這類技術和服務的出現,性能測試工程師的需求也會縮小。愈來愈多公司裏的性能測試都已經變成研發主導了。丟失了這塊的業務,性能測試 QA 的需求量天然會受影響。
必定要記住,業務空間決定 QA 的生存空間,這是全部行業都通行的道理。若是你不能知足業務需求,就會被淘汰出局,要麼選擇退守防護要麼選擇敢於接受挑戰。
那測試行業的將來是什麼樣的那,不少人會擔憂。不過我仍是總體樂觀的。由於我喜歡整個行業,這些年也一直在進行不斷的思辨。這裏說下個人見解。
從業人員規模跟生產力負相關,跟業務規模正相關。之後能有多大取決於技術和業務規模的雙重因素。
首先,是大環境因素。隨着各類行業的互聯網化,IT 行業在擴大, 外賣,美甲,甚至是無人機汽車航天產業都將成爲科技公司。研發的隊伍會擴大,QA 的隊伍天然也會總體擴大。前提是 QA 本身要跟得上時代。
其次,是隨着生產力提高天然就不會須要這麼多人的。哪一個行業都這樣,測試行業並不特殊。就跟汽車行業同樣。早年堆人,而後堆工具,堆技術,上機器人,改進流程。
行業技術改進,測試技術改進,測試工具和測試服務的改進,都會必定程度提升了測試效率,減小了成本。這種改進會致使 QA 的團隊更精煉高效。
人數多意味着你們的價值跟富士康工廠裏的工人同樣廉價。追求高附加值纔是正確的路。這對公司和測試團隊都是共贏的。
第三個因素是行業地位。Devops 的流行是推進了研發和運維的密切合做。一旦這個階段完成,產品的生產部署會很是的流暢。隨之而來的就是問題會愈來愈早的暴露,你們對質量會更加的重視。到時候就會進入一個新的時代,DevQA。
運維逐漸會管道化,Dev 和 QA 會成爲新的主角。只是到時候能撐大局的不必定是如今的軟件測試工程師了 會是新時代的測試工程師。
測試行業會愈來愈專業。人才,技術,工具,開源平臺,服務會愈來愈多。愈來愈完善。術業有專攻,專業化分工仍然是大趨勢。
技術層面上也會有創新。之前的測試只能留下測試用例和業務知識文檔,沒有什麼連續性積累。
隨着接口測試,質量監控,覆蓋率分析,業務建模等技術的突破, QA 也會造成本身穩定可積累的業務數據, 並逐漸造成本身的平臺和業務。
業務空間 + 技術門檻的雙重因素,是我堅信 QA 部門能長期存在的一個核心緣由。
幾乎大部分的互聯網公司都在分拆業務和 QA 團隊,從而提升執行力。因此管理上百人的總監職位會愈來愈少,而管理百人如下的總監會愈來愈多。不排除少許的巨無霸仍然沒有改變。或者有些燒錢的初創公司倒行逆施。
其中這些測試管理者會遇到一些新的挑戰,好比更高層是研發出身居多。不懂研發體系幾乎沒有發展空間了。測試管理體系失去了上層建築,對將來的影響仍是深遠的。會有陣痛,可是結果確定會是好的。
緣由是多方面的。大公司由於分拆的問題。再也不有統一的測試技術支撐部門,因此分拆以後的每一個團隊都須要組建對應的職能團隊,對測試技術人員的需求反而會增多。
中小型公司也苛求質量保證效果,不止是要好,並且要求更快,也須要大量的技術人才。這幾年經過各類招聘網站的招聘 JD 的描述也能看得出來。
原來作歐美日韓外包業務的公司會由於國內互聯網的發展逐漸式微,他們須要轉型作國內。可是國內對外包業務也大多排斥,並且外包業務在效率溝通管理上都有諸多弊端。其自身也沒法承載對測試工程師的培養和長期發展。因此這幾年會有大量的外包測試工程師轉型。
這方面須要有新的優秀的外包服務公司。能作到有本身的測試服務,測試技術和高級的測試研究工程師才行。好比東軟也開始作本身的各類雲測平臺之類的,就是一種爲了迎合新時代的變動。
第一個是工做上已經沒有太大的晉升空間。第二個是也很難跳槽。最好的結果是憑藉多年的經驗轉管理。
我跟行業的不少測試經理交流過,大部分工做超過 6 年的人,在測試執行上會倦怠,在測試技術的改進上已經沒法入門,還不如招實習生。相對來講,有技術基礎的人在工做 8 年以上仍然會保持本身的學習熱情。
因此將來測試團隊的架構基本會是多數業務測試工程師 + 少數測試專家 + 測試經理的管理模式。
之前不識字的是文盲,後來是不識英文的是文盲,在繼各國呼籲增強對 IT 技術的重視後,新時代的文盲就已經快是不懂開發的人了。
之前處於發展期,行業對人才的苛求是第一位的。如今隨着大公司發展穩定,招人已經穩定了。
他們基本只在 211 院校校招。社招也看學歷。初創公司可能是融資燒錢爲主,在學歷上和閱歷上也是看的很高。可以不拘一格降人才的公司會愈來愈少。
我以前推薦了很多同窗去其餘優秀的公司,其中有一部分同窗就是技術不錯,可是學歷未過關。因此但願你們技能和學歷上可以好好的重視這個問題。除了學歷門檻,如上一條所說技術門檻也存在。因此加油吧,少年!
測試行業通過自身的淨化洗滌會有新生。典型的變化就是薪資從之前的 3k-15k 的範圍,總體提高到 1w-3w 之間。
技術含量的提高,責任的提高必然會帶來總體的回報。如今測試工程師只要技術好,學歷沒問題。工做 3 年拿個兩三萬的月薪是很日常的。
這些年整個 IT 行業對測試行業的發展很是不滿意,通俗點講,你們都以爲測試很 Low,可是又不能沒有。研發提交項目給測試的心情就跟之前過年要去火車站排隊買票同樣。要申請測試資源,給測試講解業務和實現,遇到比較 low 的或者新入職的,連搭建環境都不會,還得手把手教。
研發只是修改一行代碼,QA 或者測試那邊就炸鍋了。各類流程足以讓研發頭髮都能掉好幾根。
做爲參考對比,再思考下運維。當年部署個環境跟提交測試很像。要申請運維的介入,要申請機器資源,而後提交部署文檔,還要明確基礎環境,依賴庫等各類細節的版本號。
遇到本地發佈環境不行之類的問題還得跟運維撕逼。當年運維行業還流行着一句," 人 " 纔是最關鍵的發佈保證者。
而如今隨着持續交付和 DevOps 的流行。發佈都已經作到"絲般柔滑"了,一鍵發佈,自由選擇灰度,平時的發佈甚至都不須要運維參與。嘗試了新模式的甜頭後,對測試行業的弊端已經很難忍受了。
因此在優秀的測試工程師和測試架構師難找的狀況下,已經有愈來愈多的公司選擇直接用研發工程師來頂了。他們的追求很簡單。單測->接口測試->基礎的冒煙測試,可以作到自動化就能夠了。若是能像運維那樣作成測試即服務就更完美了。
我一直堅信,QA 的價值是很是的大,測試行業在通過此次調整後也會發展的很好。至於說將來能有多輝煌,就要看你們的努力了。
測試行業和其餘行業的發展沒有本質的區別。這些年都已經規範化了。通常的公司都會有兩條路線發展。一個是 P 或者 T 簡稱的技術路線,一個是 M 的管理路線。
每一個方向都有很大的發展空間,級別也是不少,年薪也是從 20w 到 100w 以上都有。稍大的公司大都是並行發展的。小公司可能就只有管理路線可走了。因此作技術的同窗,最好是在大公司發展,去小公司就要適當調整本身工做重心。
首先技能和技術只是過程,業務的質量纔是目標。
一個合格的優秀的測試工程師,應該是能作到以下幾點:
而隨着敏捷開發、DevOps、持續交付的流行,軟件測試人員必須成長進階爲測試開發工程師,同時具有必定的開發和運維能力。
測試開發工程師會經過測試左移,更深刻介入開發工做,提早與開發人員一塊兒制定測試計劃,推進代碼評審、代碼審計、單元測試、自動化冒煙測試、測試精準化分析以及研發自測等來保證研發階段的質量。
測試開發工程師會也經過測試右移,參與配置部署,將自動化測試用例配置到持續交付鏈中,並全流程監控發佈後的應用質量。總之,做爲 DevOps 關鍵角色,測試人員將推進開發和運維共同實現高效交付高質量產品的目標。
但這裏想強調一點,並不看好只開發測試工具的測試開發工程師。開發一款測試工具,設計一個更好的測試框架,發明一種更先進的測試手段。這是我的成長帶來的天然成果,但不是目標。
不少人會以爲開發測試工具的測試開發是有前途的,其實也不是。只是他碰巧遇上了測試行業的技術轉型期的須要。我記得在百度的時候,好多負責單測工具,單測框架的維護團隊,常常凌晨兩三點還在修復 Bug。可是幾年過去,這些人的努力大多沒有很好的回報。
這是由於他們作的事情脫離業務目標太遠。一旦完成目標,他們也容易被「管道化」,成爲邊緣角色。這個行業除了極少數技術的狂熱愛好者,可以找到本身在行業的技術地位外,大多數人都應該去追隨業務的發展。業務纔是測試的根基。
測試行業和之前的戰國時代同樣,成爲一個統帥團隊叱吒風雲的將軍,仍是成爲一個打造兵器滿懷工匠精神的鐵匠,都是值得尊敬的。在冷兵器時代排兵佈陣管理就是王道,在熱兵器時代下技術和科技是重要力量。這個須要看每一個人的愛好和追求。明確本身的發展方向和愛好就能夠。
關於測試技術路線,個人建議是:
測試管理髮展
之前純作測試團隊管理的人估計是很難適應互聯網行業的變化了。可能要面臨着諸多的挑戰。須要增強自身的能力建設。
很多早年作了管理的同窗如今有些其實都開始後悔了,弄的高不成低不就。現象就是總監升不上去。經理級別沒亮點也不能升級別。業務發展通常,團隊也沒變化,而跳槽最怕遇到筆試或者技術測驗。
真正能作好測試管理的精英仍是蠻少的。若是踏入這個行業,應該多關心以下的事情
管理相對技術在大公司向上發展是比較難的。通常跳槽到初創公司是最容易變現的。好比一個 BAT 的測試經理,月薪不過是 2w 多的樣子。跳槽到創業公司作測試管理。月薪就到 3w-5w 了。甚至能力上去,直接跳槽過去當高管和 CTO 的也很多。管理這塊,我就不班門弄斧了。
以上只是侃侃而談,沒有什麼深度,僅供參考。由於帖子過長,原來提到的一些技術話題,我先暫時剝離出去了,之後再寫獨立的技術篇。(end)