去年因為YQ等各種原因,大廠裁員,失業等等頻頻受到關注。不解釋,确實存在,各行各業都很難,但是,說軟體測試行業不吃香,我還真不認同(不是為教育訓練機構說好話,大環境不好,很多企業都提高了門檻,不會亂招人了,畢竟招人成本太大了,但是如果技術好,經驗豐富,還真不愁找不到工作,就好比現在學曆上面,至少得是全日制大專以上學曆【0基礎的,如果已經在這一行業有了經驗的,還是能彌補學曆不足,當然如果個人有學曆提升計劃肯定更好】起步了吧,其它的不是找不到,難,如果沒有相關的工作/項目經驗,想都别想了,别以為随便包裝一下就能混進來好伐)。
有很多小夥伴最想知道的問題就是,2023年了,學軟體測試還有前途嗎?我們先去除專業角度對行行業的分析以及觀察,從最基礎最真實的角度和資料來看待這個問題。
如何最直覺的看待這個行業是否還有前景,最好的方式就是看市場需求,以及市場是否願意為這份需求付出的薪資,隻有市場需求量上去了,才能看出這個崗位究竟吃不吃香,需求量越大的崗位就有越多的選擇機會,這是毋庸置疑的。
根據資料顯示,軟體測試領域如今有将近30萬的人才缺口,且逐年遞增;軟體市場雖然遠遠沒有達到飽。如今,各種各樣功能的軟體層出不窮競争激烈,對軟體開發的品質要求也是日益增高。
根據Gartner的預測:到了2023年,全球相應的軟體測試市場,預計将出現14%的綜合年度增長率。可見在未來IT行業的“搶人大戰”會一觸即發 。
薪資如何?
說完了前景,我們再來說說“錢景”,畢竟工作主要還是為了恰飯嘛,除了當下的薪資,我們還需要關注這個行業的薪資薪資漲幅是多少,為我們之後的職業生涯做準備。
初級軟體測試工程師薪資大概是8.9K;
1-3年後中級軟體測試工程師薪資平均薪資是11.3K;
3—5年的軟體測試工程師平均薪資有15.6K;
資深軟體測試工程師/測試專家/測試開發/測試管理20.5K+;就業3年後的薪資均超過1萬元。
可以說是以一個穩定的趨勢在不斷上升中,隻要穩步前行,把握好專業技能,那高薪一定不成問題。
如何提升薪資?
IT行業,菜是原罪(原話是電競行業,菜是原罪)。
想要拿到高薪,想要站在金字塔上面一點,這不是一件容易的事,也不是嘴上上喊喊口号就可以的,如果你夢想自己什麼不做,或者能做到大部分人都能做到的,即普通人或者金字塔底端的人,大機率在哪一行業都混不好,如果你足夠努力,你可以在大多行業幹好。
軟體測試,技術菜,缺經驗,當然不吃香了,所有高薪的行業/工作,都不需要或者說都不缺沒有能力/能力不強的人。
不管是去教育訓練,還是自學,都要學好,比别人更好。
就像賣房子的銷售工作,可能是一個嘴巴頂呱呱,說的天花亂墜,情商很高的銷售達人;可能是一個辛苦的起早貪黑,24小時線上的打勞工;可能是拿着底薪,卻又找不到其它更好工作的人……
不同的人,對于這份工作的感受一定是不一樣的。
那麼,題主是基于什麼說軟體測試行業不吃香了呢?
薪資不高??就像送外賣的,也有月入過萬的,也有倒賠錢的,但是大家都知道,送外賣很辛苦,40度以上的大熱天還得在外面跑,刮風暴雨也得在外面跑,送餐遲到一下會有什麼樣的懲罰措施等等等等,不是說這個行業好還是不好,而是想要賺錢,辛苦是真的真的真的很辛苦,而不是嘴上說的,我去我也行!
而軟體測試行業,技術好,經驗足,工資其實是沒有上限的,你努力拿到了30k,70k的高薪了麼~你進了大廠麼?
看到有人說測試不如開發,哪裡不如?
赤果果的職業歧視麼~
幹得好,薪資也和開發不相上下;幹得不好,開發也有找不到工資,拿着不太高的薪資的人
測試行業多少稀缺崗位,比如現在各大廠都在造車,都在提人工智能,這些崗位,不需要測試麼?
但凡是有開發的地方,都需要測試。
按崗位職能分:除了傳統的基于手工的功能測試, 結合企業對測試人員技術能力的需求提升,伴随而來的有自動化測試,性能測試,安全測試,測試開發,測試開發架構;
結合近年來的行業方向:除了傳統的網際網路金融,結合行業風向标 還有大資料測試,物聯網測試,人工智能測試等(經常看健身房裡,有一句話,你憑什麼不努力,還什麼都想要。其實健身看起來就是一個非常痛苦的,自虐的過程,比如你得控制飲食,好吃的,都吃不了;比如你得把你玩遊戲,談戀愛,看劇等享樂的時間,分一部分去健身;比如你得戒掉不良嗜好,喝酒,喝奶茶,熬夜等等,不說完完全全戒掉吧,但是大機率經常會拒絕掉~~~當你越自律,你就會收獲你想要的,軟體測試不也就那些技術麼,學好了,真還怕找份工作麼)
綿薄之力
做為一名自動化軟體測試,接下來我想分享一下這些年來,我對于技術一些歸納和總結,和自己對作為一名進階測試者需要掌握那些技能的筆記分享,希望能幫助到有心在技術這條道路上一路走到黑的朋友!
一、測試基礎
了解測試的基礎技能,掌握主流缺陷管理工具的使用,熟練測試環境的操作與運維
傷心的辣條 | 測試基礎 |
---|---|
測試計劃/測試用例 | 黑盒用例設計等價類/邊界值/場景分析/判定表/因果圖分析/錯誤推斷 |
缺陷 | 缺陷生命周期/缺陷分級/缺陷管理工具禅道/Jira |
測試計劃/測試用例 | 黑盒用例設計等價類/邊界值/場景分析/判定表/因果圖分析/錯誤推斷 |
資料庫 | Mysql/環境搭建/增删改查/關聯查詢/存儲過程 |
Linux | 系統搭建/基本指令/日志分析/環境搭建 |
二、Linux必備知識
Linux作為現在最流行的軟體環境系統,一定需要掌握,目前的招聘要求都需要有Linux能力。
傷心的辣條 | Linux必備知識 |
---|---|
Linux系統簡介與準備 | Linux作為現在最流行的軟體環境系統,一定得會,從CenterOS版本系統進行介紹,安裝,目錄結構等基礎内容學起,也為後續自建測試環境準備。 |
Linux遠端工具Xshell | 詳細介紹如何入門使用Linux,并進行正常的遠端管理,檔案傳輸操作,涉及其中的工具Xshell,Xftp |
Linux檔案屬性與管理 | Linux檔案,目錄基本屬性,檔案操作,檔案管理,目錄操作,目錄管理。切忌自毀行為操作,如何預防意外操作 |
Linux使用者與組管理 | 如何在Linux中新增,删除,修改使用者與組,并賦予相應權限,不再因為權限問題而卡殼 |
Linux檔案編輯器 | Linux檔案編輯器vi的使用,指令模式,輸入模式,操作執行個體,快捷鍵,管道指令,使用心得。在一個沒有圖形化的系統下到底如何編輯的呢? |
Linux常用系統設定 | 網絡設定,環境變量,磁盤管理,時間設定,系統資源,防火牆,應有盡有,不用擔心毫無頭緒。 |
Linux安裝軟體 | Linux安裝指令,以及如何通過tar,gz等網絡上下載下傳的安裝檔案進行安裝,如MySQL資料庫安裝。 |
Linux Docker容器 | Docker容器技術講解,image鏡像管理,倉庫,容器建立,啟動,操作,鏡像打包,趕上行業流行技術 |
三、Shell腳本
掌握Shell腳本:包括Shell基礎與運用、Shell邏輯控制、Shell邏輯函數
傷心的辣條 | Shell |
---|---|
Linux Shell基礎與應用 | shell腳本程式設計介紹,環境類型,變量,參數,運算符,數組的使用,零距離接觸腳本 |
Linux Shell邏輯控制 | shell邏輯應用,test指令,流程控制,資料輸入與輸出,腳本邏輯不再單調,玩出花樣 |
Linux Shell函數 | shell腳本函數寫法,檔案互相調用,腳本實戰應用,懂得開發,測試,運維都可以做什麼 |
Windows腳本批處理 | Linux玩夠了,再來看看Windows正常指令用法,批處理腳本寫法,實戰應用,并不是到哪都是Linux,Windows腳本也是常用腳本之一,看到這裡可能你就用的Windows |
四、網際網路程式原理
自動化必經之路:前端開發基礎知識以及網際網路網絡必備知識四、網際網路程式原理
傷心的辣條 | 網際網路程式原理 |
---|---|
Web前端開發基礎 | HTML、CSS基本内容學習。為什麼測試課程有開發?對不起,如果不會,自動化可能不歡迎,很多自動化測試問題都出自于開發基礎 |
Web前端開發腳本 | JavaScript最主流的腳本學習,同樣的,這也會在自動化測試中涉及,在一些工具中其實也經常用到動态腳本,也是JavaScript語言 |
開發者調試工具測試應用 | 雖然浏覽器的F12被命名為開發者工具,但實際上測試不管在功能測試還是自動化測試中,都起到了很關鍵的作用。如解析HTML,定位元素,調試腳本,監控網絡抓包等等 |
網際網路程式網絡架構 | 通過網絡架構詳細了解網際網路程式的誕生,邏輯細節,網際網路通訊原理又是如何将資料傳遞到其他計算機的,TCP,UCP,HTTP,等等協定的關系又是什麼。 |
HTTP協定資料結構分析 | 完整解析HTTP協定資料結構,包括Request、Response資料格式,Header的定義和用法各種狀态代表什麼,如何辨識錯誤。分析協定中參數的位置,rest結構,各種常見的body資料形式,解析方式,常見資料解析錯誤的原因。 |
Cookie與Session機制 | 解讀Cookie到底是什麼,和Session存在什麼樣的關系,如何測試Cookie與Session,需要注意什麼 |
五、MySQL資料庫
軟體測試工程師必備MySQL資料庫知識,不僅僅停留在基本的“增删改查”。
傷心的辣條 | MySQL資料庫 |
---|---|
MySQL資料庫測試應用 | MySQL環境搭建,用戶端Navicat的基本使用與資料操作,學習并鞏固基本的SQL文法,增删改查缺一不可,掌握各種條件的使用方法 |
MySQL進階查詢 | 查詢更新,掌握多表查詢,子查詢,查詢分組,統計函數的使用,并對經典面試題進行學習與分析 |
MySQL自定義函數 | 既然有内置函數,當然也不缺自定義函數的位置,也是經常會使用到的,這就好比任意一種開發語言一樣都離不開函數的定義與使用 |
MySQL存儲過程SP | 資料庫必不可少的存儲過程,通常也叫SP,如何定義?如何測試?怎麼樣使用更安全,測試到底用存儲過程還能做什麼更多便于測試的内容 |
MySQL事物與程式設計 | 資料庫事務使用案例,索引的原理與使用,資料庫SQL程式設計在測試中的應用,如何用其快速精準的産生大量指定的測試資料 |
六、抓包工具
Fiddler,Wireshark,Sniffer,Tcpdump各種抓包工具适用于各種項目,總有一款适合你的
傷心的辣條 | 抓包工具 |
---|---|
抓包原理與方式 | 隻有了解抓包的原理,才能真正去用好一個适合的工具,選擇合适的方向和方法,否則都是徒勞的 |
抓包工具選擇 | 抓包工具的分類與功效,什麼樣的項目适合哪種工具,如何去辨識工具的優勢 |
Fiddler基礎功能 | 作為專業的HTTP體系的抓包工具,詳細介紹其工具原理,如何過濾資料,如何搜尋想要的資料,如何對web,非web,手機,HTTPS協定等各種環境進行抓包 |
Fiddler進階功能 | 學會使用其進行接口測試,斷電,腳本等方式進行資料的修改,替換,模拟資料進行接口Mock測試,建立自己定義的菜單功能 |
Wireshark | 與其說是抓包,更是一種抓包後的分析工具,在各個系統下利用其它與系統一體化的抓包工具進行資料抓取整理并展示,有着強大的過濾和分析功能 |
Sniffer | 黑科技抓包工具,有多種版本,非常專業的抓包工具 |
Tcpdump | Linux、Android系列的系統中的抓包插件神器 |
七、接口測試工具
接口測試神器,你繞不開的強大工具:Jmeter。小巧靈活:Postman
傷心的辣條 | 接口測試工具 |
---|---|
Jmeter接口測試入門 | Jmeter簡介,環境準備,目錄結構介紹 ,如何錄制腳本,以及基礎元件的使用,線程、作用域、HTTP請求、定時器、斷言等等 |
Jmeter接口測試進階使用 | Jmeter邏輯控制、前置處理器、後置處理器、螢幕、結果樹,如何參數化、正規表達式關聯、事務、檢查點等等。并帶領大家對帶有token等動态資料的項目進行實戰演練 |
Jmeter接口測試進階功能 | Jmeter腳本思考時間、随機時間、線程啟動間隔、并發集合點、聯機遠端調用,webservice、websocket、jdbc、指令調用等等 |
Postman接口測試工具使用 | 行業标準HTTP、rest接口測試神器,基本請求、分組儲存、動态變量、腳本、資料關聯、參數化、自動斷言、批量運作、持續內建。思路類似其他接口工具,避免泛濫學習 |
八、Web自動化測試Java&Python
了解自動化的目的,熟練掌握TestNG&unittest自動化架構,以及斷言與日志處理
傷心的辣條 | Web自動化測試Java&Python |
---|---|
自動化架構思路引導 | 我們做自動化到底為了什麼?節省人力、加快速度、還是讓機器代替手動、還是提升自我。應該如何建立思路,而非無腦進坑任機器擺布 |
Java&Python3開發環境及基本文法 | Java&Python開發環境搭建,基礎文法入門,讓不會代碼的以最快速度入門,友善适應後續自動化測試開發内容學習,代碼夠用即可,并不是學得越多越好 |
Java&Python3集合類型與面向對象開發 | Java&Python各種基本類型、集合資料類型的了解與操作,循環語句、判斷語句,面向對象的開發,函數的使用,類的使用 |
Selenium3環境與浏覽器驅動配置 | 基于selenium3的web自動化環境搭建,正确的浏覽器配置,不再為起不了浏覽器而煩惱。支援IE、Firefox、Chrome等等 |
Selenium3多種定位及動态操作 | selenium3常見定位方法,屬性和值的擷取,如何動态判斷不一定存在的元素,複雜的網頁結構,需要多步驟操作的元素等等 |
特殊情況處理(js、特殊控件等) | selenium3自動化測試中,常見的特殊情況處理,如日期、控件、智能等待、檔案上傳下載下傳、網頁嵌套結構,各種彈窗的處理方式,cookie處理,JavaScript腳本調用等 |
TestNG&unittest自動化架構使用 | Python unittest、Java TestNG自動化架構的使用,環境處理、基本使用邏輯,資料驅動模型,資料庫資料載入等 |
自動化架構斷言與日志處理 | 自動化中最重要的是什麼?作為測試當然是斷言,沒有斷言的自動化毫無用處,如何展示日志與結果是自動化測試的根本 |
PageObject架構設計模式 | PageObject架構設計模式,到底是做什麼的?如何更好的快速管理控件,從此做起 |
九、接口與移動端自動化
專業接口調用、測試解決方案。組建完整的web和接口自動化架構,Appium整體使用
傷心的辣條 | 接口與移動端自動化 |
---|---|
接口自動化方案Requests | Python Requests、Java HTTPclient接口架構,都是專業的接口調用、測試的解決方案,使用簡單快速,結合工具的使用方式和功能,快速上手并對其操作,解決其中的疑難雜症 |
web+自動化架構整合 | 自動化測試是相通的,如何将web與接口、甚至更多的測試類型和方向結合起來,組成完整的自動化架構 |
Appium環境搭建 | Appium環境相對複雜,針對Android系統進行完整的環境搭建演練,解決環境上的問題,并進行基本的自動化操作 |
Appium自動化實戰與架構結合 | Appium整體使用與web自動化類似,引導使用典型功能,并針對一款APP進行實戰操作 |
十、靈活測試&TestOps建構
揭開TestOps的神秘面紗,持續內建Jenkins架構爛熟于心
傷心的辣條 | 靈活測試&TestOps建構 |
---|---|
建構靈活測試運維架構體系 | 靈活測試是什麼?為什麼需要靈活,行業都提到的devops又是什麼?TestOps能做什麼 |
持續內建Jenkins架構實戰 | 持續內建最常見的一套架構,介紹Jenkins操作、權限、系統管理等,常用建構與運作執行個體講解 |
靜态掃描測試Sonar | 一款自動化的代碼掃描工具,便捷式快速掃描代碼中的問題,做到提前發現,統一規範,自動化中的代碼測試神器 |
十一、性能測試&安全測試
軟體測試的彼岸:性能測試和安全測試,選個方向努力爬坑吧!
傷心的辣條 | 性能測試&安全測試 |
---|---|
性能測試學習路線 | 如何學習性能測試,性能測試到底該怎麼學習,使用什麼工具?工具并不代表性能,接口的基礎對性能測試非常重要,而工具隻是輔助,更多的是思路和政策。你不會并不是分析而是準備階段 |
loadrunner脫離浏覽器錄制專題 | IE無法啟動被測網站?打不開浏覽器?程式無法在浏覽器中被打開?這些都沒關系,還是一樣能錄制,但錄制是偷懶專用的,對于學習有一定的輔助作用,也會帶入無法脫離的坑 |
性能測試工具操作實踐 | loadrunner、jmeter,有了前面的基礎使用,看懂腳本不是問題,帶上關鍵的參數化、動态資料關聯、事物、日志,大部分的腳本都可以搞定進行實踐 |
系統監控方案實施 | 工具自帶監控?系統監控?JVM内部監控?資料庫監控?各種監控的意義何在,如何在各種情況下精準監控資料 |
安全測試起源與工具介紹 | 應該如何進行安全測試,安全測試都有哪些分類?都會用到什麼樣的工具,各自的作用又是什麼,如web漏洞掃描,端口掃描,系統掃描等 |
web安全測試手工實戰 | 接口測試在安全中的作用,不會手動的安全測試,那就永遠無法了解自動化以後産出的結果 |
安全掃描工具測試實踐 | 實際介紹以及使用APPscan、awvs等專業安全掃描工具 |
企業安全建設(SDLC) | 企業應該如何進行安全建設,制定更安全的軟體生命周期。從哪些方面進行着手 |
上面就是我為大家整理出來的一份軟體測試工程師發展方向知識架構體系圖。希望大家能照着這個體系在3-4個月完成這樣一個體系的建構。可以說,這個過程會讓你痛不欲生,但隻要你熬過去了。以後的生活就輕松很多。正所謂萬事開頭難,隻要邁出了第一步,你就已經成功了一半,等到完成之後再回顧這一段路程的時候,你肯定會感慨良多。
最後: 下方這份完整的軟體測試視訊學習教程已經整理上傳完成,朋友們如果需要可以自行免費領取
【保證100%免費】
這些資料,對于【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!