天天看點

初、中、進階測試工程師成長指南

因太多小夥伴詢問風風零基礎如何轉行軟體測試、軟體測試該學什麼、中級和進階測試需要掌握哪些技能之類的問題。

  為了讓大家系統的了解軟體測試,掌握合理、正确的學習方法和目标,風風決定制作一個學習 & 成長清單,你可以根據該清單制定自己不同階段的學習 & 成長計劃。

  測試基礎

  無需多說,必須重點掌握!!!一切技術皆由理論發展而來。

  01 學習内容

  ①職業介紹:IT公司和網際網路公司各崗位的工作職責,如開發、測試、産品、設計、項目經理等。

  ②軟體流程:研發模型、研發流程、版本疊代、項目需求、需求文檔、測試流程、上線流程等。

  ③測試設計:測試計劃、測試方法、測試用例、測試管理工具。

  ④BUG:定義、分類、生命周期。

  02 學習程度

  初級-能夠了解并說出這些概念,能自己組織語言講懂給一個不是測試行業的人。

  中級-完全了解,能夠結合工作了解基礎,明确每一個概念的真正意義,有自己的反思和總。

  進階-完全吃透,随着思維和技能的提升,起于基礎,又歸于基礎,以解決問題為導向。

  03 學習方法

  職業介紹百度即可。

  其他建議看理論書籍,花一到兩周時間系統學習,最好不要百度。

  自學軟體測試,該讀寫什麼資料?

  測試分類

  01 功能測試

  亦稱黑盒測試,常被調侃的點點點工程師,分app測試(手機上的應用程式)、web測試(浏覽器通路的網頁)、接口測試(通路服務的資源路徑)三種。

  别管網友如何調侃,如果你能成為業務專家,點點點,未嘗不可。

  偏題了,害~

  初級-根據公司要求,會其一,了解另二,最好了解接口測試。

  中級-三者都通;業務水準在項目組中等偏上。

  進階-三者都精通;業務精英或者業務專家,可怼産品,能給建議;有全局意識,逆向思維,破壞性思維,主人翁意識。

  02 性能測試

  初級-無要求,掌握是加分項。

  中級-熟練使用主流的性能測試工具,如jmeter、loadrunner等,有相關性能壓測經驗;能手撸壓測腳本;了解服務架構設計,了解性能分析,能協助開發調優。

  進階-另一條專職專崗的技術路線——性能測試工程師,調優、架構、壓測平台玩得有模有樣。對技術要求特别高,不建議走此路,除非你真的喜歡,有天賦,肯努力。

  03 白盒測試

  初級-無要求,履歷上寫了是減分項,除非你真懂。

  中級-多少知道一點開發的代碼架構設計,會bug定位,了解代碼走查,代碼診斷,代碼審查等。

  進階-技術專家,部門帶頭人。對技術要求特别高,不建議走此路,除非你真的喜歡,有天賦,肯努力。

  04 安全測試

  初級-無要求,履歷上寫了是減分項,除非你真懂。

  中級-多少知道一點滲透測試、SQL注入、XSS攻擊、暴力破解等。

  進階-另一條專職專崗的技術路線——安全測試工程師,準黑客或黑客級别。

  05 自動化測試

  具備編碼能力,以開發app自動化、web自動化、接口自動化、PC自動化、資料自動化、各類自動化平台項目。

  初級-無要求。了解常用的自動化架構即可。

  中級-掌握一種或兩種程式設計語言;熟練編寫自動化測試用例和腳本,能夠深入到自動化測試架構的方法層;會debug。

  進階-已經掌握各類開發技術,充分了解各編碼語言、各自動化架構的優缺點,深入到自動化測試的架構層,具備架構開發能力,能根據工作需求進行設計,能開發自動化測試平台、效能平台等,能獨立承擔中大型自動化測試項目。

  測試技術

  01 網絡協定

  初級-初步了解TCP/IP、HTTP、HTTPS等知識,包括但不限于了解一個url通路的生命周期,區分get請求和post請求,知道cookie、session等;會抓包。

  中級-結合工作,能在各種複雜場景下的追溯請求;懂抓包;懂mock;懂篡改請求響應資料等進階-掌握網絡程式設計技術。

  02 Linux

  目前,大多數公司的伺服器部署在linux系統上,且雲服務正盛,故需要掌握該技能。

  初級-會用常用指令,如檢視,複制粘貼、通路日志等。

  中級-安裝軟體,搭建服務,會排錯;shell初級腳本;能手撸Linux三劍客之一grep;了解雲服務知識。

  進階-會問題排查,熟悉系統名額;shell進階腳本;正規表達式;能手撸Linux三劍客另二之sed、awk;熟悉各類雲平台及服務。

  03 編碼能力

  同上面講的白盒測試和自動化測試,有些許相似之處。

  初級-無要求,了解基本文法。非科班專業,建議學python。

  中級-獨立或部分獨立完成一個項目。

  進階-獨立完成一個複雜項目;熟悉常見架構,分布式系統;能實作後端服務,具備全棧開發能力。

  04 版本傳遞

  初級-無要求,但要知道什麼是版本管理和版本傳遞,知道git和svn工具,了解Jenkins。

  中級-随着自動化測試的進行,編碼技術的提升,自然會掌握該技術。

  進階-沒啥說的,看代碼,合代碼,控制項目版本,CI/CD。

  05 資料庫

  初級-安裝、通路、常用的增删查改sql語句,工作中使用最多的是select和update語句。

  中級-子查詢、分表查詢,存儲過程,索引;mysql、redis。

  進階-搭建服務,部署系統,問題排查。很多線上問題跟資料庫有關。

  06 其他技術

  如緩存,多線程,Docker,k8s,中間件mq、nginx等。

  初級-無要求。

  中級-根據公司要求來,懂一些測試方法,出現了相關bug,知道咋回事,而非一臉茫然。

  進階-熟練掌握各類技術,知道其原理,上手測試毫無壓力。

  軟技能

  01 項目相關

  初級-沒啥想的,幹好本職測試工作,好好學習。

  中級-熟悉測試業務,至少是項目負責人,如果一直待在一個行業,對該行業有了解和認識;除開工作,開始思考一些問題,如提升效率等,并注重文檔寫作、個人總結等。

  進階-吃透業務,吃透行業,吃透測試的本質,owner獨當一面,輸出 & 分享,向上彙報……太多了,因人而異。

  02 職場相關

  獨立思考、邏輯能力、解決問題思維、風險意識、分析能力、執行力、溝通能力、團隊協作能力。

  這個不羅列了,因人而異,因追求而異,略偏題。

END

公衆号:程式員二黑,擷取軟體測試資源(面試題,PDF文檔,視訊教程)

好東西要和朋友一起分享哦

繼續閱讀