公司新來了個拿 20K 出來的測試,讓我見識到了什麼叫真正的測試天花板...
阿新 • • 發佈:2021-12-20
公司新來了個拿 20K 出來的測試,讓我見識到了什麼叫真正的測試天花板...
今天一上班開早會就是新人見面儀式,聽說來了個很厲害的大佬,是上家公司離職過來的,薪資已經達到中等水平,很多人都好奇不已,能拿到這個薪資應該人不簡單,果然,自我介紹的時候都驚訝到我們了,讓我見識到了什麼叫真正的測試天花板...
自動化測試、測試開發、高併發張口就來,著實驚訝到我們了,一問原來是在前公司跟領導有矛盾,待不下去才離職,來我們公司面試時領導一下就看中了,問了一些問題嘮嗑後就通過他了,果然人有能力就是不一樣,在哪裡都發光!!!
在和他徹夜聊過後,整理出來一份他測試生涯整理的一些知識及技術分享,希望能對你們有一點幫助!
《軟體測試工程師發展規劃路線》
一、測試基礎
瞭解測試的基礎技能,掌握主流缺陷管理工具的使用,熟練測試環境的操作與運維
包子 | 測試基礎 |
---|---|
測試計劃/測試用例 | 黑盒用例設計等價類/邊界值/場景分析/判定表/因果圖分析/錯誤推斷 |
缺陷 | 缺陷生命週期/缺陷分級/缺陷管理工具禪道/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) | 企業應該如何進行安全建設,制定更安全的軟體生命週期。從哪些方面進行著手 |
這些都是高附加值的知識!
其實這些高附加值的知識和能力可以邊工作邊自學的。
最近斷斷續續整理了一些軟體測試學習資源,可以加扣扣裙946094265進群免費獲取!主體內容包含:測試文件、測試工具安裝包、自動化測試視訊教程、效能測試、介面測試、面試技巧、簡歷模版、全套面試題等知識內容。目的是想了解一下大廠招聘的技術熱點,不斷提升學習。