去年年末開始,不少測試人員抱怨互聯網寒冬來襲,抱怨找不到好工做,抱怨要求高,可是我發現,技術好的,找工做甚至找到很是不錯的工做仍是很輕鬆的。因此,仍是要自身實力強,打鐵還需自身硬。html
2010年左右,測試招聘要求大概都是熟悉測試流程,熟悉用例設計方法。java
2017年左右,測試招聘要求是會代碼、會自動化、會性能、會測試開發,我屮艸芔茻,基本上是全棧了(貌似就差安全了),是否是感受作測試好苦逼啊???python
近10年的招聘要求變化,說明:第1、順應行業發展,對測試要求確實是愈來愈高;第2、跟風,哪怕是小公司,都是要求會不少技術,這樣才能提高公司逼格,可能進去仍是擰螺絲。mysql
不少測試小媳婦兒抱怨測試沒地位,公司不重視,開發瞧不起測試。linux
若是,若是你某項技術比開發強,好比能提出頗有技術含量的bug,他還敢瞧不起你?根據多年的感觸,90%的java開發不會jvm,甚至不少開發連linux經常使用命令都不會(僅本人接觸的開發)。nginx
因此,要讓開發不小瞧你,就要多作和開發有交集的技術測試,好比:安全、性能,並且,只要開發嚴格要求本身,且開發時間稍微充裕點,不少業務功能bug都是能夠避免的。有人說,那測試開發呢?說實話,論開發能力,估計除了bat的測試開發,95%的測試開發的開發能力都比公司專職開發的開發能力低。面試
這是測試的基礎,不少測試說點點點沒技術含量,其實這樣理解是不正確的,我以爲功能測試纔是最重要的,至少你沒據說過有公司不作功能測試吧(開發自測的也算作了)?redis
並且,自動化、性能、安全等測試,都是功能測試主流程穩定後纔開始的(這裏的開始是具體的測試執行;站在項目的角度,測試是從需求調研就開始了)。spring
總之,如何設計高效的測試用例仍是頗有技術含量的,我發現99%的測試都知道等價類、邊界值,可是沒幾個把正交試驗、因果圖應用的很⑥的吧?估計有些連概念都沒據說過,那就本身去百度吧,或者參考:http://www.javashuo.com/article/p-qpprulrs-bo.htmlsql
不少朋友都在深鑽自動化測試,其實我以爲是沒太大必要的,UI自動化成本大,咱們就只作了接口自動化。自動化都是用來作迴歸測試的,只要基於一個框架(參考:python版接口自動化測試框架,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接口),測試開發基本上就是大半個全棧測試了(可能你面的測試開發,最後還會讓你作功能測試)。
另外,要大公司纔會有純的「測試開發」,就是開發測試平臺、測試工具的,可是純測試開發壓力相對小,提高慢,論開發技術,確定沒有專職開發強,由於不像專職開發,用到各類前沿的技術、框架。
總之,若是喜歡開發,就轉開發吧,測試開發之後就是全棧測試,啥都要會(哪須要就往哪搬),是的,你沒看錯,不是我在嚇你,這是現實,積極面對吧。不信?不要緊,去招聘網站搜索,不少測試開發都是要求會性能,甚至會安全。
測試開發框架推薦:django,flask,springboot。
找個好的平臺,能施展本身的測試技術(這裏並無否認點點點功能測試的技術,我是強調要全面發展,總之都要會)。
自動化測試是每一個公司均可以作的。
性能測試不是隨便學點就能作好的,須要長時間的實踐和積累,以及不斷學習,因此,找個好的平臺,給你作性能的機會。
小公司基本上是沒有純測試開發的。
學習是痛苦並快樂的,堅持學習,天天1-2小時,日積月累,你會超越不少人。
三天打魚兩天曬網是不行的,短暫的熱情也是不行的,以前羣裏很活躍的測試朋友,沒兩週就沉寂了,不要放縱本身,不要給本身找藉口,什麼加班忙、沒時間之類的。其實,我如今仍是很感謝本身曾經的堅持,有時加班回來也會學習到12點之後。
跟對人,抱緊你周圍大神的大腿,有人給你解決問題,會讓你更加快樂學習,不然,你邁不過遇到的坑,就放棄了,談何提高?
市面上不少書都是大雜燴,就是啥測試內容都有,就像全棧測試的書,你看着舒服,結果都是皮毛,毫無卵用,因此,要買書,就買專項書籍。
什麼是專項書籍?就是專門講那個知識的,它講得很深刻。好比:性能測試的,能夠看《深刻理解Java虛擬機:JVM高級特性與最佳實踐》、《高性能MySQL》等,這裏並非廣告,你也能夠買其它相關的書。
給本身定個學習目標和計劃吧,我也給本身定了總結分享計劃,【目錄】從測試小白到高級全棧測試(自動化 、性能、測試開發)修煉之路
爲何要總結分享呢?通過多年的學習、實踐、總結,沉澱下來不少筆記,包含:功能、性能、自動化、測試開發、安全,有些知識久了不用,就比較生疏了,因此就抽時間系統整理、總結一下,分享給你們,拋磚引玉,共同進步。
有些很基礎的,也能夠百度到的,爲啥我也寫呢?第一,越基礎的,越不被重視,我發現不少人的提問都很基礎;第二,爲了給你們提供一站式服務的便利。
關於答疑,不論是QQ羣(652122175)仍是微信羣(文末加微信進羣),我答疑還算上心吧,上下班途中,也會抽時間回答問題,可能不及時,可是上班忙,確實只能休息間隙答覆。其實你們問的問題,我不必定會,這樣也給我一個學習的機會,正所謂,幫助他人,提高本身。並且,總結過程當中,有些之前沒完全明白的,如今也豁然開朗了,開心(*^▽^*),因此,知識點要寫了總結,纔會知道會不會,文章要推送出去了,纔會反覆斟酌閱讀幾十遍(這篇文章我已經改了幾十遍了,這難道是測試的強迫症?)。
一塊兒學習、一塊兒進步。活到老,學到老。不要再墮落,今天的苦逼,是爲了避免這樣一直苦逼下去!
不管時代怎麼變化,只有讓本身時刻保持進步的狀態,才能不被社會落下;只有不斷地努力,培養本身的能力,才能穩定。(摘抄自:每日經濟新聞)
另外,機遇也很重要哦。
謝謝您的閱讀。
我的觀點,僅供參考。