簡單的先說一下,坐標杭州,15屆本科畢業,算上年前在阿里巴巴的面試,一共有面試了有6家公司,最后種種原因入職了開始最沒把握的騰訊,
作為一個在騰訊作業6年的測驗工程師,今天就來聊聊作業壓力到底從何而來,
壓力的開始:時間回到6年前,我人生中的第一份測驗實習作業,是在騰訊公司做一個自動化測驗工程師,當時的我可謂意氣風發,想要大干一場,結果第一次做測驗就出現了事故,由于對某些地方的不了解,把某一個地方漏測了,并且上完線就去吃晚飯了,等吃飯回來發現師傅在焦頭爛額地忙來忙去,那次故障造成了一個某項服務20分鐘不可用,對公司造成了不小的影響,
壓力的加劇:這僅僅是一個開始,在后來半年的時間里,我幾乎把所有新人可能犯的錯誤都犯了個遍,架構師讓我把最新開發出來的軟體,測驗完,我悶頭搞了兩周,也沒有得出任何結論;本來安排好的開發計劃,由于我臨時要回去寫論文,搞得測驗經理措手不及;參加專案座談會,全程“打醬油”……那段時間,自己也很苦惱,幾乎每天晚上11點多才走,很累很辛苦,但依然拿不到想要的結果,

6年過去了,自己從一個職場小白逐步成長為一名技術大佬,我也榮幸的在微信測驗開發框架組呆過,搭建過微信platuo測驗框架,thrift測驗框架,自動化測驗平臺,這也是讓我熟悉了python3,java,vue,陸陸續續也是在多家公司從0到1搭建過自動化測驗框架,保障過億級流量服務的質量作業,我發現測驗團隊中的很多同學在不停地重復犯著自己當年類似的錯誤,他們并不是不努力,到底是哪里出了問題?經過一段時間的觀察與思考后,我想我找到了答案,那就是:我們大多數同學在作業中缺乏原則的指導,原則,猶如指引行動的“燈塔”,它連接著我們的價值觀與行動,
每個人都應該有自己的原則,當我們需要作出選擇時,一定要堅持以原則為中心,但是在現實生活中,我們往往缺少對原則的總結,對于很多人來說這是一門“只可意會不可言傳”的玄學,是屬于測驗老司機的秘密,其實不然,“追求極致”是騰訊的價值觀,作為一名測驗技術人員,我們應該如何踐行呢?下面希望能夠給大家帶來一些啟發,更好地指導我們的行動,
《軟體測驗工程師發展規劃路線》
一、測驗基礎
了解測驗的基礎技能,掌握主流缺陷管理工具的使用,熟練測驗環境的操作與運維
| 包子 | 測驗基礎 |
|---|---|
| 測驗計劃/測驗用例 | 黑盒用例設計等價類/邊界值/場景分析/判定表/因果圖分析/錯誤推斷 |
| 缺陷 | 缺陷生命周期/缺陷分級/缺陷管理工具禪道/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免費獲取!最近也斷斷續續的整理了一下資料,包括軟體學習路線圖,50多天的上課視頻、16個突擊實戰專案,80余個軟體測驗用軟體,37份測驗檔案,70個軟體測驗相關問題,40篇測驗經驗級文章,上千份測驗真題分享,還有2021軟體測驗面試寶典,還有軟體測驗求職的各類精選簡歷,希望對大家有所幫助……
學習不要孤軍奮戰,最好是能抱團取暖,相互成就一起成長,群眾效應的效果是非常強大的,大家一起學習,一起打卡,會更有學習動力,也更能堅持下去,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/388941.html
標籤:其他
上一篇:用 shell 腳本做自動化測驗
