3年經驗來面試20K的測試崗,連基本功都不會,還不如去招應屆生

程序员潇潇發表於2024-04-29

​這段時間公司專案急缺人手,面了不少人,竟然沒有一個滿意的。一開始瞄準的就是中高階的水準,也沒指望來技術大牛,提供的薪資在15-25K,面試的人很多,但結果讓人失望。

從簡歷上來說都是3-4年工作經驗,但面試中,不會工具方法和程式設計框架,基本功的技術很多也不熟練,多數人多年的工作經驗僅僅是業務年限堆起來的,技術能力達不到公司需求,對於框架自動化測試會的也不多,都停留介面測試的基礎方法層面上,自動化深入的問題更是一問一個沒,對於前沿的主流技術也毫無關注。

而這些人的薪資要求卻是都接近20K,並且在談論過程中自視甚高,特別有一個給我留了很深印象,簡歷寫著3年經驗,做的都是小程式的展示專案,面試過程中一直強調自己技術如何如何精通,在原公司如何的受重用,問到關鍵地方,卻答不出所以然來,最後招了2個潛力還不錯的應屆生,希望帶一段時間能成為幫手。

經過去年網際網路大廠裁員的推動,企業為了降本增效,對人才的需求也在提高。和幾個圈內朋友說起這個事,他們也深有同感,技術在發展,行業要求越來越高,但是花時間去提升能力的人卻並不多。再加上不斷有新鮮血液的衝擊,壓力只會越來越大。

網際網路仍在發展,企業要求也在提升,冗餘人員和低效人員會被淘汰、被最佳化,而優秀的人才也會一直受到公司的青睞。所以行業裡才會有冰火兩重天的一幕,一邊是大量的低端測試工程師被淘汰、被降薪和被迫轉行,求職屢屢碰壁,而另一邊,卻是很多測試經理求賢若渴四處挖人。需求和供給的不匹配,導致招人難、就業也難。

但是真正有實力的測試人才,根本不會受到什麼影響,要跳槽發展還是很容易的。但是對現在的工作不滿意,又沒有足夠的技術,與其焦慮迷茫,不如靜下心來自我提升。目前就大量招聘資訊來說,想要獲得高薪就得會以下幾個加分點:

  1. 熟悉不同作業系統和資料庫的操作能力
  2. 熟悉指令碼語言,具有一定的程式設計能力
  3. 能透過自動化測試監控和提升質量和效率
  4. 有較強的分析設計能力,測試框架研發和方案整合能力

所以還停留在手工功能測試層面,如果不去提升技術,不僅要面臨長江後浪推前浪的壓力,還要頂住當下行業的內卷之勢。不然就只能接受窘境,最後甚至是面臨淘汰。更別說升職漲薪了

如何從初級功能測試到高階自動化測試開發,達到技術提升和待遇提高的目的,是很多初級測試人必經的一個階段。作為一個過來人,對自我提升過程中的困難深有體會。

所以我喜歡收集資源,記錄自己踩坑到爬坑的過程。希望能把自己所學,實際工作中使用的技術、學習方法、心得及踩過的一些坑,記錄下來。也希望想提升技術能力的你一樣,透過我的分享可以少走一些彎路,可以形成一套自己的方法,並應用到實際中。

這是我整理的《全棧測試工程師技術進階路線》,還有不少工具和影片的【網盤資源】,需要的朋友可以點選文末小卡片獲取網盤連結。肯定會給你帶來幫助和方向。

1、自動化測試必會Python程式設計技術

Python開發環境搭建Python起源、發展與特點;直譯器安裝與環境配置;Pycharm安裝與配置;Python第一個程式;Python程式多方式執行
Python語法規則 Python語法規則;Python的變數的定義、宣告與使用;Python的輸入與輸出(格式化輸出);字符集處理
Python資料型別 Python的基本資料型別(數值型別、字串型別);Python的運算子;Python的型別轉換
字串型別操作 字串的定義;字串常見操作;字串常用方法;字串使用場景案例講解
列表型別操作 列表的定義;列表常見操作(新增、刪除、修改元素值);列表常用方法講解(複製,反轉)
元組型別操作 元組的定義與使用;元組的特性;元組常用方法講解
字典型別操作 字典的定義與操作;字典常見操作(新增、刪除、修改元素值);字典常用方法講解(items,values)
集合型別操作 集合的定義與使用;集合的特性;集合常用方法講解,集合使用場景分析
流程控制-條件判斷 單項分支,雙項分支,多項分支和巢狀分支判斷;布林表示式的應用;條件判斷的使用場景分析
流程控制-迴圈處理 while迴圈;break/continue關鍵字使用場景;for迴圈;雙重for迴圈;forrange使用;使用場景與真實案例分析
物件導向-函式 函式的定義與呼叫;函式的返回值;函式的引數(預設引數,可變長度引數);函式的巢狀;常用的內建函式:關鍵字函式封裝案例講解
模組與包 模組化與包的定義與使用;內建time模組的使用;內建datetime模組使用;內建calendar模組使用;自定義模組的使用場景分析
檔案操作 檔案物件;檔案讀取、寫入操作;with.as用法;檔案使用場景案例講解

2、Web自動化測試技術內容

自動化測試流程概述自動化測試的定義和目的;自動化測試的優勢;自動化測試的流程;自動化測試的技能要求;Web自動化主流工具的介紹
selenium環境搭建 selenium發展與特點;selenium安裝與環境配置;Selenium實現自動化測試原理剖析
常規頁面元素定位方式 透過id/name/class/tag/link_text等方式定位元素;各種元素定位特點的分析
xpath元素定位方式詳解 xpath定位元素技巧;xpath表示式編寫方式
css元素定位方式詳解 css定位元素技巧;css多屬性高階定位方式
元素組定位 元素組的定位方式;元素組定位的使用場景;nd element()/fnd_elements()定位方式的解析與對比
特殊元素定位 單選框、多選框、核取方塊、下拉框選擇、動態元素的定位技巧闡述;
瀏覽器操作 獲取頁面title/url、頁面的前進後退、頁面的重新整理、截圖、頁面關閉與程序的關閉;元素常用屬性與方法 (text,get_attribute())
三種等待時間詳解 強制等待time、隱式等待、顯式等待的使用;三者的區別與實際場景應用
切換操作技巧 瀏覽器模式切換 (無頭模式、APP模式);多視窗的切換,多Frame的切換;彈框的切換與操作
滑鼠、鍵盤操作技巧 滑鼠事件(移動,雙擊、移動、拖拽);滑鼠操作實戰,鍵盤事件與實戰操作
JavaScript在自動化測試中的應用 JavaScript Excutor執行器語法規則;js更改元素屬性;js定位元素;js操作捲軸等各種場景應用

3、APP自動化測試技術內容

Android自動化環境搭建客戶端庫、JDK、Android SDK、APPiumDesktop、模擬器安裝;模擬器設定;裝置連線問題分析
自動化框架與工具使用 APP自動化框架比較(APPium,Ulautomator,Espresso等);APPiumDesktop的介紹與使用;Inspector工具配置與使用
ADB命令操作 ADB原理;裝置連線;上傳下載檔案;安裝解除安裝APP;日誌獲取;input輸入類命令;檢視系統資訊;獲取包名和事件入口;
Monkey穩定性測試 Monkey穩定性測試原理;Monkey指令詳解 (基礎引數、事件引數、除錯選項);Monkey日誌分析 (日誌定位,迴歸驗證)
自動化配置項 Desired Capabilities配置文件;常見配置項介紹和使用場景分析
APP介面元素檢視工具 UIAutomatorViewer獲取元素資訊;Inspector工具獲取元素資訊;Inspector進行自動化指令碼錄製操作等
APP元素定位 元素定位方式詳解(id,classname,accessibilitylD,xpath等方式的使用);元素組定位方式
APP元素操作 元素屬性操作(text,location,size等);常用API函式(launch_APP,reset,is_APP_installed等);點選、滑動、輸入字元、點選座標等操作技巧

4、Postman測試工具專題

Postman安裝與使用Postman簡介,Postman環境搭建,Postman介面測試-get請求,Postman介面測試-post請求 (各種型別引數案例)
Postman集合測試 Postman測試集管理介面,測試集的匯入匯出,測試集中設定變數、引用變數
Postman介面關聯 Postman全域性變數設定與應用,環境變數設定與應用,在Tests中設定變數、獲取變數
Postman斷言 Postman各種斷言方式(狀態碼、響應正文、響應頭、響應時間等的斷言操作)
Postman引數化 Postman各種引數化方式(文字引數化、csv引數化、json引數化)
Postman資料驅動 測試集、關聯、引數化、斷言的綜合使用

5、介面自動化測試技術內容

介面自動化測試概述介面測試的定義與意義;介面測試的實現方式;介面自動化的實現流程
HTTP協議 通訊協議原理解析;HTTP與HTTP協議詳解 (請求,響應,請求方法,狀態碼)session、cookie、token監權
JSON資料格式詳解 JSON與XML的比較;JSON的語法規則;JSON的資料型別介紹;JSON的練習
Requests模組基礎 Requests安裝;使用Requests傳送請求 (get,post,delete,put,Requests),不同格式解析響應資料 (textjson,content)
RequestsZsession模組 session模組應用、介面請求、會話管理
Requests請求HTTP介面實戰 GET、POST、DELETE、檔案上傳等介面型別、json、from-data、引數型別、場景實戰演練

6、自動化測試框架搭建能力

Pytest介紹,環境搭建Pytest簡介、環境搭建、常用外掛安裝
Pytest基礎語法 Pytest基礎語法規則詳解
Fixture的使用 Pytest引數化與Fixture的使用
Allure測試報告 Pytest之conftest使用,整合Allure測試報告
框架搭建原理、思路 搭建框架之前的準備、框架的意義、設計思路、程式碼模組分層思想
UI自動化測試框架搭建一 程式碼模組分成、搭建日誌系統、斷言系統、報告系統
UI自動化測試框架搭建二 關鍵字驅動設計、資料驅動設計
介面自動測試框架搭建一 HTTP、Websocket、Dubbo型別介面模組類封裝
介面自動化測試框架搭建二 關鍵字驅動設計、資料驅動設計、資料庫應用、日誌、斷言系統
UI測試框架和介面測試框架一體化 介面測試框架與UI測試框架整合,前後端自動化測試關聯場景運用
HTML前端 HTML元素,標籤、css、Javascript語法基礎
Flask後端api編寫 Restful API開發規範,構建一套API服務

7、持續整合

Jenkins介紹、環境搭建部署Jenkins環境,常用Jenkins外掛安裝
構建自動化測試任務 自動化測試用例結合Jenkins構建任務應用、定時執行、批次執行
自動傳送郵件測試報告 定時任務執行後產出測試報告、根據用例透過率自動傳送郵件
git倉庫的使用 git版本庫建立、新增遠端倉庫、克隆、pull、push、commit命令使用
Docker容器技術 Docker使用原理、Docker環境搭建、Docker在自動化測試中場景應用
流水線 構建 CI/CD 流水線流程

8、Jmeter 效能測試

Jmeter效能測試入門效能測試概念,目的與意義;效能測試策略詳解;效能測試流程和效能測試工具分析
效能測試環境搭建與效能指標闡述 效能指標(TPS/併發使用者數/響應時間/吞吐率/資源利用率):效能測試工具選擇;Jmeter環境搭建
Jmeter介面測試及HTTP協議講解 Jmeter設定測試計劃、執行緒組、HTTP請求,以及HTTP協議講解、hddler抓包等
Jmeter介面測試引數化及錄製HTTP指令碼 Jmeter設定引數化、檔案引數化、資料函式引數化;Jmeter監控伺服器資源設定:Jmeter錄製HTTP指令碼
Java請求&JDBC請求實戰 Java請求,計算器,固定定時器,集合點設定;JDBC協議使用及技巧
Jmeter外掛管理及jvm監控 Jmeter Jmeter外掛管理,場景設定,tps圖等;Jmeter啟動記憶體設定及字型,jvm監控Jmeter
Jmeter叢集壓測及結果分析 Jmeter叢集壓測設定;結果統計及分析
Jmeter專案實戰 單機、分散式、多執行緒執行機制、混合負載、壓力測試;穩定性測試,可擴充套件性、可恢復性測試等其它場景測試
Liunx伺服器監控 Linux環境命令動態監控,top/free/vmstat等
資料庫監控 資料庫監控,慢查詢sql定位
JVM監控 JVM監控,JProhler工具使用,類耗時,jvm命令監控jmap,jstat,jstack使用等
伺服器資源監控與分析 監控堆疊記憶體使用,執行緒抓取
全鏈路壓測 全鏈路壓測,叢集壓測原理解析
效能測試分析與總結 效能瓶頸分析,測試報告編寫,效能測試流程總結

9、APP效能測試

APP效能測試入門效能測試概念,目的與意義;效能測試策略詳解;效能測試流程和效能測試工具分析
效能測試環境搭建與效能指標闡述 效能指標 (cpu、記憶體、流暢度等) ,效能測試工具選擇;環境搭建
效能指標之啟動時間、CPU、流量詳解及實戰 效能指標(啟動時間、CPU、流量詳解)獲取方法;監控指令碼實現;資料分析
效能指標之電量、記憶體FPS&過度渲染及實戰 效能指標(電量、記憶體、FPS&過度染) 獲取方法;監控指令碼實現;資料分析

10、Fiddler 抓包工具的使用

Fiddler工具介紹與安裝各類抓包工具介紹與對比;詳細指導hddler安裝過程;常用選單介紹 (tools;rules;view;命令列等)
Fiddler原理與HTTP協議詳解 B/S架構簡介和請求過程理解;Fiddler的抓包原理,HTTP的請求、響應報文的詳細闡述
Fiddler抓包與過濾 Fiddler抓取HTTP、HTTPS的資料包;Fiddler抓取APP資料包;資料包過濾: Find;Filter; Rules
Fiddler斷點實戰 Fiddler進行區域性斷點/全域性斷點/請求前斷點/響應後斷點設定;篡改資料 (請求前、響應後資料);對資源和介面進行斷點除錯
Fiddler模擬mock實戰 Fiddler利用Autoresponder對資源進行重定向;Fiddler構建不存在的介面 (mock)
Fiddler弱網實戰 Fiddler完成弱網環境設定;模擬弱網測試

11、TCP/IP協議

TCP/IP的協議詳解TCP/IP的體系結構;TCP/IP的特點;
傳輸層協議 (TCP/UDP)原理 TCP/UDP定義;面向連線的TCP詳解;無連線的UDP詳解;TCP/UDP協議差別;TCP協議的可靠傳輸機制詳解;
TCP協議的流量控制和擁塞控制 流量控制詳解(利用滑動視窗、傳輸速率);擁塞控制詳解( 慢開始、擁塞避免、快重傳和快恢復)

12、Linux 系統操作

Linux環境搭建虛擬機器VMware Workstation Pro安裝;SUSE Linux環境搭建;VMware Tools輔助工具安裝;Windows Linux系統之間檔案共享
Linux初級命令學習 Linux概述、起源、架構;Linux目錄系統講解;初級Linux命令學習:目錄操作命令 (I/cd/mkdir/rmdir);檔案操作命令 (touch/cp/mv) ;檔案檢視命令 (cat/more/head)
Linux中級命令學習 常用中級命令學習:編輯器命令(vim);連結檔案命令(ln);檔案搜尋命令 (fnd/which/whereis/grep),系統資源命令 (df/free/ps);其他系統命令 (halt/poweroff/shutdown)
Linux高階命令學習1 打包壓縮命令 (tar);使用者和組命令 (useradd,groupadd)
Linux高階命令學習2 許可權的理解;許可權命令 (chmod/chown);許可權的更改-所屬者;許可權的更改-所在組;給使用者設定指定的許可權
Linux下Web環境部署1-tomcat+jdk Linux下安裝與配置jdk; Linux下編譯和執行Java程式碼;Linux下安裝tomcat; Linux下訪問tomcat
Linux下Web環境部署2-MySQL資料庫 Linux下安裝和配置MySQL資料庫;Linux下登入和使用資料庫;Linux下修改root使用者密碼;Windows下的Navicat連線Linux的MySQL服務端
Linux伺服器訪問操作 Xshell/Xftp的安裝與介紹;購買阿里雲伺服器;使用Xshell/Xftp操作伺服器端的檔案

13、MySQL 資料庫

MySQL資料庫環境搭建MySQL服務端安裝;常見客戶端Navicat安裝與破解;MySQL自帶命令列模式常見命令使用;客戶端Navicat連線服務端與操作
MySQL之資料庫表的SQL命令 資料庫概念、分類以及使用場景,不同儲存引擎的區別,SQL的分類及命令;資料庫建立命令;表建立/修改/銷燬命令;資料庫常見資料型別講解與使用
MySQL之資料完整性約束使用 資料庫約束的定義、作用與分類,掌握實體完整性;域完整性,引用完整性等約束的建立與刪除命令
MySQL之增刪改的SQL命令 掌握資料庫的增刪改查命令(insert、delete、update);資料庫運算子的使用(算數運算子、比較運算子、邏輯運算子、位運算子)
MySQL之查詢的SQL命令 資料庫查詢-select的用法;掌握inlike、distinct、between orderby、ifnull、分頁功能limit等的用法
MySQL之高階查詢-函式&分組查詢SQL命令 資料庫高階查詢的用法;掌握聚合函式(max;min;count);分組查詢(groupby);子查詢(多行子查詢;單行子查詢;in;exist)等的用法
MySQL之高階查詢-關聯查詢&子查詢SQL命令 資料庫高階查詢的用法;掌握多表關聯查詢(innerjoin;leftjoin;rightjoin)等的用法
Mysql之TCL操作 事務的概述,事務的特性,事務的建立,事務的併發問題,事務的場景實操
MySQL作業講解 資料庫作業講解分析,知識點總結與梳理,進一步工具資料庫操作知識,常見筆試,面試題分析
mongodb資料實操 mongodb概述mongodb環境搭建,資料庫操作,集合操作,資料匯入匯出

14、RobotFramework 自動化測試框架

RobotFramework簡介與環境搭建pip安裝RF,ride工具,以及結合PyCharm編輯工具的用法
RF語法之變數使用 掌握RF當中的變數型別,變數的定義和使用,列印輸出
RF基礎語法之測試用例編寫 掌握RF編寫測試用例,執行用例,檢視用例執行日誌,檢視報告
RF之關鍵字與資原始檔 掌握使用者關鍵字,資原始檔,變數引用,庫的定義
RF之語法控制流與迴圈 掌握RF中FOR迴圈,AND,IF的用法
RF-Web自動化專案實戰 UI自動化測試用例編寫,分層設計,POM
RF-介面自動化專案實戰 編寫介面測試用例,傳送HTTP介面請求,介面專案實戰
RF-擴充套件庫開發 掌握Python開發關鍵字、第三方庫,系統關鍵字開發
RF-整合Jenkins之持續整合 掌握RF框架結合Jenkins使用

15、跨平臺的自動化測試框架Airtest

Airtest環境搭建與IDE使用IDE安裝、Web端、APP自動化環境搭建,框架介紹
Airtest-Web自動化專案實戰 Airtest之商城Web自動化測試實戰
Airtest-APP自動化專案實戰 Airtest之安卓APP自動化測試、自動刷短影片賺金幣
Airtest之poco框架 基於poco框架進行網易雲APP自動化測試
Airtest-windows應用程式自動化測試 Airtest之Windows應用程式自動化測試
Airtest之指令碼執行方式 自動化指令碼在cmd執行、批次執行指令碼、bat批處理執行
Airtest-整合Jenkins之持續整合 掌握Airtest框架結合Jenkins使用

上面就是我整理出來的一份全棧測試工程師技術進階路徑圖。完成這樣一個技術棧的構建。可以說,這個過程會讓你痛不欲生,但只要你熬過去了。以後的職業生涯就輕鬆很多。正所謂萬事開頭難,只要邁出了第一步,你就已經成功了一半,古人說的好“不積跬步,無以至千里。”等到完成之後再回顧這一段路程的時候,你肯定會感慨良多。

作為一位過來人也是希望大家少走一些彎路,在這裡我給大家分享一些自動化測試的學習資源,希望能給你前進的路上帶來幫助。

行動吧,在路上總比一直觀望的要好,未來的你肯定會感 謝現在拼搏的自己!如果想學習提升找不到資料,沒人答疑解惑時,請及時加入扣群:731789136,裡面有各種軟體測試+開發資料和技術可以一起交流學習哦。

最後感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,這些資料,對於【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,雖然不是什麼很值錢的東西,如果你用得到的話可以直接拿走:

如果你想學習軟體測試和需要軟體測試資料,歡迎加入扣扣交流群:731789136,裡面可以免費領取軟體測試+自動化測試資料+軟體測試面試寶典+簡歷模版+實戰專案+面試刷題工具和大佬答疑解惑,我們一起交流一起學習!

相關文章