測試技術提高建議

測試招聘要求發展html

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

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

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

  論測試地位linux

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

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

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

  關於功能測試spring

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

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

  總之,如何設計高效的測試用例仍是頗有技術含量的,我發現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點之後。

相關文章
相關標籤/搜索