對任何職業而言,薪資始終都會是眾多追求的重要部分。前幾年的軟件測試行業還是一個風口,隨著不斷地轉行人員以及畢業的大學生瘋狂地涌入軟件測試行業,目前軟件測試行業“缺口”已經基本飽和。當然,我說的是最基礎的功能測試的崗位需求已經很少了,而自動化、性能、安全乃至于以后可能出現的大數據測試、AI測試仍存在著非常多的機會。很多測試從業者其實會對自己未來的發展感到迷茫,覺得自己的工作其實就是用“鼠標點點點”,其實不是這樣的,測試工程師有自己的價值。如果你熱愛這個行業,好好規劃自己的職業發展道路,到達行業頂薪也是有可能的。
“長江后浪推前浪,前浪死在沙灘上”,曾經一句讓人會心一笑的調侃,而今變成了軟件測試行業的真實寫照。由于軟件測試行業入門門檻低,薪資報酬高,不斷有新鮮血液沖刷著軟件測試行業的“前行者”們,給我們帶來了非常大的壓力。
那些入行幾年,但是依然是功能測試的同學所面臨的的壓力可想而知。說到底,軟件測試行業還是屬于技術崗位。既然是技術崗位,那就要靠技術說話。不斷掌握新的技能,提高軟件測試“找bug”的能力也就變成了目前軟件測試從業人員迫在眉睫需要解決的問題。因此,現在大部分初級功能測試人員都在向自動化、性能、安全靠攏。
但是還是有不少的軟件測試工程師站在“十字路口”迷茫、無助,找不到自己的方向。
一切的迷茫都是因為想得太多而做的太少!每位軟件測試行業從業者都能意識到目前自己面臨的窘境,但能及時作出改變,順應時代變化的人還是太少。多數人明明“泰山崩于前而面色如土”卻只能眼睜睜看著自己被行業淘汰嗎?
并不是,下面的軟件測試工程師發展規劃路線,會給你帶來靈感和方向:
一、測試基礎
了解測試的基礎技能,掌握主流缺陷管理工具的使用,熟練測試環境的操作與運維
愛碼小士(公眾號) |
測試基礎 |
測試計劃/測試用例 |
黑盒用例設計等價類/邊界值/場景分析/判定表/因果圖分析/錯誤推斷 |
缺陷 |
缺陷生命周期/缺陷分級/缺陷管理工具禪道/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編程在測試中的應用,如何用其快速精準的產生大量指定的測試數據 |
六、抓包工具
Fiddleer,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年內完成這樣一個體系的構建。可以說,這個過程會讓你痛不欲生,但只要你熬過去了。以后的生活就輕松很多。正所謂萬事開頭難,只要邁出了第一步,你就已經成功了一半,古人說的好“不積跬步,無以至千里。”等到完成之后再回顧這一段路程的時候,你肯定會感慨良多。
如果你不想再體驗一次自學時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,可以加我們的軟件測試交流:273462828,里面有各種軟件測試資料和技術交流。
加油吧,測試員!如果你需要提升規劃,那就行動吧,在路上總比在起點觀望的要好。
未來的你肯定會感謝現在拼命的自己!
擴展閱讀