測試技術提升建議
- 2019 年 10 月 6 日
- 筆記
導讀
去年年底開始,很多測試人員抱怨互聯網寒冬來襲,抱怨找不到好工作,抱怨要求高,但是我發現,技術好的,找工作甚至找到非常不錯的工作還是很輕鬆的。所以,還是要自身實力強,打鐵還需自身硬。
測試招聘要求發展
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點以後。
跟對人,抱緊你周圍大神的大腿,有人給你解決問題,會讓你更加快樂學習,否則,你邁不過遇到的坑,就放棄了,談何提升?
書籍推薦
市面上很多書都是大雜燴,就是啥測試內容都有,就像全棧測試的書,你看著舒服,結果都是皮毛,毫無卵用,所以,要買書,就買專項書籍。
什麼是專項書籍?就是專門講那個知識的,它講得很深入。比如:性能測試的,可以看《深入理解Java虛擬機:JVM高級特性與最佳實踐》、《高性能MySQL》等,這裡並不是廣告,你也可以買其它相關的書。
如何過冬
給自己定個學習目標和計劃吧,我也給自己定了總結分享計劃,從測試小白到高級全棧測試(自動化 、性能、測試開發)修鍊之路。掃文末二維碼查看。
為什麼要總結分享呢?經過多年的學習、實踐、總結,沉澱下來很多筆記,包含:功能、性能、自動化、測試開發、安全,有些知識久了不用,就比較生疏了,所以就抽時間系統整理、總結一下,分享給大家,拋磚引玉,共同進步。
有些很基礎的,也可以百度到的,為啥我也寫呢?第一,越基礎的,越不被重視,我發現很多人的提問都很基礎;第二,為了給大家提供一站式服務的便利。
關於答疑,不管是QQ群[652122175]還是微信群[文末加微信進群],我答疑還算上心吧,上下班途中,也會抽時間回答問題,可能不及時,但是上班忙,確實只能休息間隙答覆。其實大家問的問題,我不一定會,這樣也給我一個學習的機會,正所謂,幫助他人,提升自己。而且,總結過程中,有些以前沒徹底明白的,現在也豁然開朗了,開心(*^▽^*),所以,知識點要寫了總結,才會知道會不會,文章要推送出去了,才會反覆斟酌閱讀幾十遍(這篇文章我已經改了幾十遍了,這難道是測試的強迫症?)。
無論時代怎麼變化,只有讓自己時刻保持進步的狀態,才能不被社會落下;只有不斷地努力,培養自己的能力,才能穩定。(摘抄自:每日經濟新聞)
插曲: 這個30k大佬,四川的,交流起來,真的幽默中不缺乏憨厚,挺有意思
另外,機遇也很重要哦。
謝謝您的閱讀。
PS:以上內容為個人觀點,僅供參考
腳本:30K全棧大佬
圖片:30K全棧大佬
來源:30K全棧大佬
END
文章詳情搜索微信:shichaogg
部分圖片來源於網路,如有侵權請聯繫小編刪除