您好,登錄后才能下訂單哦!
看到很多人解釋為什么公司都要招聘測試開發,在說效率,在說崗位職責,沒有人從這個行業發展的變化去說的。
在開始正文之前,我先拋出一個觀點,做80%的做測試的,都稱不上為測試工程師。
好的,帶著這個觀點,咱們從行業目前的發展來說一下。如果你沒有進入這個行業,那么有些概念可能不太理解,沒關系,先接觸一下。
? 作為 DevOps 關鍵角色,未來的軟件測試工程師和質量人員必須同時具備一定的開發和運維能力。
? 測試人員會更深入介入開發工作,通過“測試左移”,提前與開發人員一起制定測試計劃,推動代碼評審、代碼審計、單元測試、自動化冒煙測試、測試精準化分析以及研發自測等來保證研發階段的質量;
? 另外,測試人員會也會參與配置部署,將自動化測試用例配置到持續交付鏈中,并通過“測試右移”,全流程監控發布后的應用質量。
這里我所說的“測試左移”,也就是指的研發階段的質量保證,“測試右移”也就是發布后的質量監控,搞明白這連個理念,就能很清晰的明白測試開發具體指的是什么了。
如果你是測試人員,你認為自己的公司不大,這些東西涉及不到我,我不關心。那么,上面我已經說了什么是測試開發了,下面就不用往下看了,你選擇坐井觀天,誰也攔不住的。
下面我就說一下整個測試行業目前,一個整體的一個現狀。
這些情況不是我一個人得出的,是私下同阿里、360等行業內的測試經理交流所公認的。
第一個觀點:XP、Scrum、CI/CD/DevOps的項目管理迭代的方法論的流行加大了測試壓力
你要是剛開始進入這個行業,可能認為測試就是找bug,但是測試工程師的核心是質量保證。舉個例子,以前一個項目,按月發布,兩月發布一個,一月發布一個,現在呢,一個月也慢慢變成了兩周,三周,甚至一周,甚至有的時候2天就可以發布一個功能,如果是按照這個節奏,研發只需要改一行代碼,你要保證這一行代碼的正確性,你要寫很多的用例,甚至要回歸,幾十條甚至上百條的都有可能。那么他的改動會越來越頻繁,而對于測試來說,每一次的改動,我們都要去做回歸的,而這種回歸,在這種短時間迭代越來越短的節奏下,其實已經沒有辦法再靠人力去支撐了,到時候必然就會帶來測試工程師要進行加班,而且光加班也是解決不了的問題,所以這個時候,測試的壓力是非常大的。
第二個觀點:是原有的質量保證體系缺乏可以融入架構的工程化技術支撐。
原有的質量保證體系指的是什么呢,我們說最早期的手工測試的方法論,什么邊界值啦,以及我們自動化最簡單的一些自動化測試、壓測,所有原來的這一套測試體系其實在當今的這個測試行業下,尤其是互聯網快速發展的階段里面已經慢慢的不太適用了。雖然說目前它仍然非常的有用,但是這樣的一套體系很難融入已經流行的比如說持續交付、持續集成、DevOps等這樣一個大的環境里面。你所做的自動化測試,如何融入到這個體系中去,如何能快速的發現線上的問題,以及更早的發現研發級別的問題,靠原有的這些質量保證手段,其實已經有點匱乏了。
第三個觀點:行業大量技術根基薄弱的測試工程師面臨淘汰和外包
這句話聽起來比較殘酷,但是你必須要看到這種變化。通過和一些測試經理進行溝通,也都是認為現在很多的測試工程師都不及格,要么是會點點點,要么是會一點自動化。20%-30%的人懂一點最基礎的自動化,自動化的能力也是屬于一個很薄弱的環節,既解決不了公司里面深層次的問題,又沒有辦法幫公司支撐和搭建更高的平臺,完善更好的一套測試流程,所以也會導致這一類人也不太及格。
比如說阿里的一些現狀,就是招測試開發,或者說招研發做測試,由測試開發以及研發來負責完成公司內的質量體系建設,公司的持續集成,持續交付,DevOps,以及一些質量監控平臺,剩下的點點點,外包給其他的公司來做,這是他們目前的一個現狀,也就是說,如果你們只是點點點,那么很快你將失去在大的公司的工作機會,直接會被外包公司吸收過去。
所以,這些也就是為什么很多公司都要招聘測試開發
說到這里,肯定很多會點點點的,都在抱怨為什么招普通的測試,還要會自動化,會語言基礎?如果前面行業發展你可以理解,那么你也就可以懂得,他們對測試是有更高的期待的,已有的測試又不能解決,所以只能在招聘中體現這一點。
-----------------------此處加個分割線-----------------------
延伸的多說一點吧
測試開發工程師的概念怎么來的?
這個名詞一開始并不叫測試開發,只是說懂技術,懂研發的測試工程師,后來這個詞又很長,再加上以前測試開發曾經在老的時代是有一個對應的詞的,從微軟的時代的時候,微軟就把工程師稱為軟件工程師on testing,就是屬于測試領域的一個開發工程師。后來這個詞就慢慢的受到很多公司的采納,之后測試開發這個詞,逐漸的開始流行。
測試工程師需要會多少語言?
2門。第一門,推薦大家使用Python。Python是做自動化工作首選的一門語言,所以Python是第一位的。
第二個語言,等你月薪達到2萬或者2萬5以上的時候,這個時候光靠做測試,已經很難再產生更大的影響力了,這個時候需要怎么做呢?第一個,在研發角度,去影響研發團隊提高質量,第二個,從運維和線上角度,去影響運維和線上用戶,然后去分析更好的質量。
如果要做這兩個事情,只靠Python,就有些乏力了,比如說全公司都在用Java,go,你用Python對接就會很麻煩,比如你要分析他們代碼的規范,代碼里面的內存泄漏,多性能的死鎖,各方面的問題,你要發明工具去發現這些問題,技術棧不一樣,會很麻煩。所以Python是你入門的第一門語言,Python之后可以走2個方向,一個是Java,一個是go,懂2門語言就夠了。當然像前端,html,js,css,這肯定是每個人都需要去懂的,這些基本上都屬于基礎知識了。
測試開發做到后面,是不是和開發沒有區別了?
測試實際上是比開發更牛的,只不過大家礙于現狀,不好意思說這個事情。對測試的能力要求,比開發還要高,只不過是說現在的測試行業里面,大量的人是沒有成長起來,導致大家覺得開發比測試牛。
舉個例子,開發工程師每天做什么呢,學網站開發,學數據庫查詢,學各種工具,每天的工作就是產品經理告訴你我要在頁面上加一個好評,有多少人點贊,你給我實現這個功能,開發就去后臺里面,第一個,數據庫里面加一個字段,第二個,代碼里面加一段查詢,第三個,在網頁端,加一個展示的效果。每天,每年常年的都是在做這樣的事情,你可以認為就是數據庫的增刪改查,加上網頁的展現,多數的開發都是這樣,只有少數的開發會走出來,比如說進到更強的架構層去思考解決方案。多數的研發也是困擾于日常的搬磚。
測試做什么呢?首先是人工的測試需要去做,第二個是自動化的測試要去做,第三個,專項的測試也要去做,之后是什么呢,測試的左移,對研發質量要提前發現一些問題,同時上線之后的產品要進行質量的監控,發現一些線上用戶的崩潰問題,了解所有的業務場景。所以在總體的范圍里面,測試比研發更有前途的。在技術能力的要求上,也要求測試具備比研發所不知道的一些東西。
舉個例子,耗電量怎么去測,內存泄漏怎么去測,一些底層的性能,壓測怎么去測,這些東西研發日常是接觸不到的,反而是我們測試經常需要去關注這些指標。測試是比研發更有價值的一個崗位,但是遺憾的是,我們。行業所有的測試基本上都去忙點點點去了,忽略了對質量體系的建設,以及測試流程的建設。
后面你們會慢慢發現,隨著devops、持續交付這一套東西的流行,測試,運維,會慢慢的去管控整個公司的質量,然后研發只需要負責寫代碼。在目前以及過去的這些年,研發是比測試有優勢的,就是因為高階的質量保障,測試行業基本上都沒有做,大家做的都是低端的,不是點點點,就是低端的自動化,然后很少有人往上去走,如果你走上來你會發現,測試比開發更有價值。但是兩者都是殊途同歸,都是開發工程師,只不過一個專注于測試,一個專注于功能的開發。所以現在很多公司,特別是大的公司,招測試開發以及研發去做測試,然后點點點,外包。
好了,閑扯這么多,以后我會專門開始說說測試開發的簡歷是什么樣的,關注我,受益你。
我是老白,來了不白來。
點擊下面傳送門,帶你打開新世界!
一線名企內推渠道
什么是測試開發
軟件測試資料下載通道
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。