測試技術提升建議

測試招聘要求發展

  2010年左右,測試招聘要求大概都是熟悉測試流程,熟悉用例設計方法。

  2017年左右,測試招聘要求是會代碼、會自動化、會性能、會測試開發,我屮艸芔茻,基本上是全棧了(貌似就差安全了),是不是感覺做測試好苦逼啊???

  近10年的招聘要求變化,說明:第一、順應行業發展,對測試要求確實是越來越高;第二、跟風,哪怕是小公司,都是要求會很多技術,這樣才能提升公司逼格,可能進去還是擰螺絲。

  論測試地位

  很多測試小媳婦兒抱怨測試沒地位,公司不重視,開發瞧不起測試。

  如果,如果你某項技術比開發強,比如能提出很有技術含量的bug,他還敢瞧不起你?根據多年的感觸,90%的java開發不會jvm,甚至很多開發連linux常用命令都不會(僅本人接觸的開發)。

  所以,要讓開發不小瞧你,就要多做和開發有交集的技術測試,比如:安全、性能,而且,只要開發嚴格要求自己,且開發時間稍微充裕點,很多業務功能bug都是可以避免的。有人說,那測試開發呢?說實話,論開發能力,估計除了bat的測試開發,95%的測試開發的開發能力都比公司專職開發的開發能力低,他不多蔑你幾眼算你走運了。

  關於功能測試

  這是測試的基礎,很多測試說點點點沒技術含量,其實這樣理解是不正確的,我覺得功能測試纔是最重要的,至少你沒聽說過有公司不做功能測試吧(開發自測的也算做了)?

  而且,自動化、性能、安全等測試,都是功能測試主流程穩定後纔開始的(這裏的開始是具體的測試執行;站在項目的角度,測試是從需求調研就開始了)。

  總之,如何設計高效的測試用例還是很有技術含量的,我發現99%的測試都知道等價類、邊界值,但是沒幾個把正交試驗、因果圖應用的很⑥的吧?估計有些連概念都沒聽說過,那就自己去百度吧。

  關於自動化測試

  很多朋友都在深鑽自動化測試,其實我覺得是沒太大必要的,UI自動化成本大,我們就只做了接口自動化。自動化都是用來做迴歸測試的,只要基於一個框架(參考《python版接口自動化測試框架》:https://www.cnblogs.com/UncleYong/p/10650552.html,java版還在完善中),能跑起來生成報告即可。

  總之,你頂多做1-2年自動化就會深有感觸,自動化後期都是複製粘貼修改腳本,沒啥技術含量,而且,並不是所有項目都適合做自動化,有些自動化腳本要跑起來,需要很多依賴條件。有人說寫框架有技術含量點,確實,但是哪有每天讓你寫框架的活?我們的框架我寫好後,都很久很久沒去動過了。

  所以,還是多花點時間學學代碼搞測試開發,或者性能,或者安全吧。另外,做自動化,推薦用python做,比較簡單。

  關於性能測試

  互聯網用戶越來越大,所以性能測試越來越被重視,比如淘寶雙十一,根據淘寶發佈的2018雙十一交易額,如果宕機1分鐘,損失是1.5億,可見,這是一筆多大的數字。

  性能需要學的東西很多,總之就是架構師的知識面了,架構師精通的,你都要熟悉或者至少了解,包含各種服務器的監控、可調優的參數、基本操作,比如nginx,tomcat,mysql,redis,linux,這些都是最基礎的,最難的,估計就是jvm,沒幾個開發會,會的基本上都是架構師。

  語言推薦:python&java,我是用python造測試數據及數據庫存量數據,很簡單,用java,主要是現在主流的客戶端併發工具是jmeter,jemter是java開發的,沒有的取樣器,可以自己寫java實現,比如dubbo協議的接口(但是現在已經有dubbo的第三方插件了)。

  性能學習路線:性能概念→loadrunner入門→jmeter提升及java基礎→linux命令→各種中間件服務器定位調優。

  關於性能工具,主流是jmeter和loadrunner,沒有好壞之分,都是客戶端併發工具而已,性能測試的重點是定位調優 。

  關於性能等級

  有人說,我會做性能腳本,會跑併發了,我會做性能了,來看看網上有些資料是怎麼說的:

  性能外行:會做簡單的腳本跑併發(複雜的,比如dubbo接口這些需要寫代碼的,就搞不定了);

  性能初級:會性能監控;

  性能中級:會常見性能問題的定位調優;

  性能高級:會調優,性能自動化預警監控、容量規劃。

  關於安全測試

  安全要求比較高,比如網絡、各種安全***策略,需要做安全測試的,基本上都是互聯網金融,涉及到錢的,我們公司的安全測試,大版本都是找第三方專業安全公司做,小需求是自己做。

  總之,不是計算機或網絡專業的,不建議朝這個方向發展,否則多半會死在半路上,何必去冒這個險呢?

  關於測試開發

  這個概念是最近幾年從bat興起的,其實,這個概念是很模糊的,沒明確的職責定義。

  按照我以往的面試經驗及自己的理解,測試開發就是能寫代碼,哪怕簡單的腳本,所以,廣義上說,自動化測試也算測試開發,性能測試也算測試開發(寫腳本批量造存量數據,以及開發性能腳本,比如dubbo接口,需要自己寫java代碼,參考jmeter5.1測試dubbo接口:https://www.cnblogs.com/UncleYong/p/10732754.html),測試開發基本上就是大半個全棧測試了(可能你面的測試開發,最後還會讓你做功能測試)。

  另外,要大公司纔會有純的“測試開發”,就是開發測試平臺、測試工具的,但是純測試開發壓力相對小,提升慢,論開發技術,肯定沒有專職開發強。

  總之,如果喜歡開發,就轉開發吧,測試開發以後就是全棧測試,啥都要會(哪需要就往哪搬),是的,你沒看錯,不是我在嚇你,這是現實,積極面對吧。

  測試開發框架推薦:django,flask,springboot。

  關於公司的選擇

  找個好的平臺,能施展自己的測試技術(這裏並沒有否定點點點功能測試的技術,我是強調要全面發展,總之都要會)。

  自動化測試是每個公司都可以做的。

  性能測試不是隨便學點就能做好的,需要長時間的實踐和積累,以及不斷學習,所以,找個好的平臺,給你做性能的機會。

  小公司基本上是沒有純測試開發的。

  關於如何學習提升

  學習是痛苦並快樂的,堅持學習,每天1-2小時,日積月累,你會超越很多人。

  三天打魚兩天曬網是不行的,短暫的熱情也是不行的,之前羣裏很活躍的測試朋友,沒兩週就沉寂了,不要放縱自己,不要給自己找藉口,什麼加班忙、沒時間之類的。其實,我現在還是很感謝自己曾經的堅持,有時加班回來也會學習到12點以後。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章