對于很多小白而言,想要轉行軟件測試崗位,卻又怕自己從來沒有接觸過計算機,底子很薄弱,從而還沒開始就打起了退堂鼓。也有許多初學者,在入門的過程中,苦于不知道該學什么,又該從何學起,常常搞得一團亂麻。 隨著時代的發(fā)展,測試行業(yè)也從最初的功能測試,演變成現(xiàn)在的自動化測試、接口測試、性能測試、安全測試、測試開發(fā)等崗位。企業(yè)軟件質量的要求已經(jīng)越來越高,所以測試也越來越受到重視,相應的,想要轉行測試,如果沒有一份完整的規(guī)劃,學習的效率也會大打折扣。 本期,筆者就給大家盤點一下,零基礎轉行測試需要學習哪些內容呢? 什么是測試工程師? 1 軟件測試工程師主要是負責理解產(chǎn)品的功能要求,并對其進行測試,檢查軟件有沒有錯誤(Bug),決定軟件是否具有穩(wěn)定性(Robustness),寫出相應的測試規(guī)范和測試案例。
同時,由于測試行業(yè)的綜合性和全面性,測試需要和很多人員打交道,其中包括開發(fā)人員、產(chǎn)品經(jīng)理等等和軟件項目相關的崗位,相對的,一個好的測試人員可以去轉行許多崗位。 ![]() 如產(chǎn)品崗位,因為在做項目時,他們就會接觸到一些設計常識,如運維工程師,因為測試也需要代建環(huán)境,甚至有的測試員可以去做軟件的部署等等。由此可見,學好測試其實未來可以選擇發(fā)展的方向有很多。 再回歸到測試本身,測試的發(fā)展之路很長,需要不斷的學習進步,提升自己的硬技能和軟技能,硬技能指的是技術方面,軟技能就是我們上述提到的和其他部門人員的溝通,處理矛盾等等各方面的問題。 所以,想要成為一名好的測試工程師并不簡單。 測試學習成長路線 2 下面給大家一個技術學習成長路線,小伙伴可以根據(jù)此參考,開始學習: ![]() 上述是比較偏技術層面的職業(yè)發(fā)展路線,對于職業(yè)發(fā)展路線有疑問的小伙伴可以看本欄目上期的文章《最全「軟件測試工程師」職業(yè)生涯路線盤點(內含薪資統(tǒng)計)》來決定自己的發(fā)展方向。 技術路線會更加偏重代碼技術方向,測試領域有,服務器端測試,客戶端測試,安全測試,性能測試,接口測試,自動化測試,滲透測試,測試開發(fā)。當你已經(jīng)達到了測試開發(fā)的水平,也就說明你離這個行業(yè)的金字塔頂端不遠了。 下面針對這條路線中比較關鍵的幾點拎出來和大家說一下: 1)軟件測試基礎知識 這一階段,我們需要了解軟件測試的概念,掌握軟件測試是干什么的,熟悉軟件測試的基礎理論和測試方法,了解測試的生命周期,測試流程,測試用例的編寫方法,在項目中的日常工作主要做什么等等。需要掌握以下兩點: 軟件測試相關文檔的學習和BUG提交規(guī)范的學習 1、了解測試計劃、測試方案、測試策略、需求文檔、需求評審、測試用例設計方法等 2、了解bug的定義、分類、bug的生命周期,bug提交規(guī)范,bug管理工具和項目管理工具的基本使用(禪道,jira,tapd,readmind,testlink等)。 需要學習哪些測試工具 1、xmind/mindmanage思維導圖、svn/git源代碼和文檔管理工具、抓包工具(fiddler、charles:掌握基本抓包用法,弱網(wǎng)請求、接口請求攔截、響應結果篡改) 2、學習linux基本操作,掌握常用命令,學會環(huán)境部署的大致操作 3、學習數(shù)據(jù)庫的基本知識,掌握增刪改查的常見操作 4、了解一些簡單的html、css、javascript相關的內容,有個概念就行 5、結合以上工具,再運用到項目中,回過頭來重新再去測試一遍(不要覺得枯燥,測試經(jīng)常干一些反復瑣碎的事情,需要耐心和細心) 2)語言基礎 這一階段建議大家選擇Python 或者Java入門,首推Python,學完再學Java,語言的很多思想和語法都是相通的,學完第一門,第二門就很容易上手了。 3)手動轉自動 在我們學習了一個語言后,我們需要不斷熟悉精通這門語言,可以結合Selenium學習Web自動化測試,通過腳本,會快速提高語言基礎知識的理解和運用。 4)自動化腳本開發(fā) 這個階段我們需要會自己寫出測試用例了,如果Selenium自動化腳本開發(fā),你起碼要完成100個自動化測試用例,才能做到熟練運用。 ![]() 5)了解和接觸框架 這里的框架指的是測試的框架,這一階段我們需要繼續(xù)深入研究Selenium和一些自動化測試框架的知識,其中包括,單元測試框架,Java中Junit或者testNG,Python中unittest 6)設計簡單測試框架 一個測試框架大概包括測試對象,測試組件,基礎類和函數(shù),工具類,測試數(shù)據(jù),異常處理,測試日志,斷言和測試報告等這些模塊。 在設計測試框架的時候,我們要盡可能的將這些模塊有機的結合起來,將腳本能夠有效的組織、連貫應用起來,提高測試腳本的可維護性和可讀性。 7)常見設計框架
8)Linux和數(shù)據(jù)庫 當自動化測試到一定深度,就需要用代碼連接數(shù)據(jù)庫去測試,所以常見的linux和shell腳本是有必要學習的。 9)版本控制和持續(xù)集成 持續(xù)集成指的是,頻繁地(一天多次)將代碼集成到主干。持續(xù)集成強調開發(fā)人員提交了新代碼之后,立刻進行構建、(單元)測試。 根據(jù)測試結果,我們可以確定新代碼和原有代碼能否正確地集成在一起。同時,集成可以幫助我們每完成一點更新,就集成到主干,可以快速發(fā)現(xiàn)錯誤,定位錯誤也比較容易。 ![]() 10)Web前端(可選) 我們可以學一些前端的知識,來幫助我們之后更好的完成工作。 11)寫一些小程序 通過一些小程序來幫助我們更快的確定自己的技術能力在哪個層面。 12)完全掌握一門語言 可以將這一階段看作一個學習的目標,幫助我們穩(wěn)定代碼基礎。 寫在最后 3 這個學習路線的后面幾個層面對于初學者而言是有些困難的,但是如果你了解一定的開發(fā)和有扎實的代碼基礎,在未來,成為一名測試開發(fā)會更容易些,當然,如果完全按照路線圖所學會,你的能力一定在許多測試員之上,這一點是毋庸置疑的。 無論哪一行都需要努力和堅持,測試行業(yè)也是如此,相信自己,其實只要有毅力,從小白晉升資深者也不是什么難事。 |
|