對于很多小白而言,想要轉行軟件測試崗位,卻又怕自己從來沒有接觸過計算機,底子很薄弱,從而還沒開始就打起了退堂鼓。也有許多初學者,在入門的過程中,苦于不知道該學什么,又該從何學起,常常搞得一團亂麻。隨著時代的發展,測試行業也從功能測試,演變成現在的自動化測試、接口測試、性能測試、安全測試、測試開發等崗位。企業軟件質量的要求已經越來越高,所以測試也越來越受到重視,相應的,想要轉行測試,如果沒有一份完整的規劃,學習的效率也會大打折扣。
1.什么是測試工程師?
軟件測試工程師主要是負責理解產品的功能要求,并對其進行測試,檢查軟件有沒有錯誤(Bug),決定軟件是否具有穩定性(Robustness),寫出相應的測試規范和測試案例。簡單來說,軟件測試工程師在一家軟件企業中擔當的是“質量管理”角色,及時糾錯及時更正,確保產品的正常運作。同時,由于測試行業的綜合性和全面性,測試需要和很多人員打交道,其中包括開發人員、產品經理等等和軟件項目相關的崗位,相對的,一個好的測試人員可以去轉行許多崗位。如產品崗位,因為在做項目時,他們就會接觸到一些設計常識,如運維工程師,因為測試也需要代建環境,甚至有的測試員可以去做軟件的部署等等。由此可見,學好測試其實未來可以選擇發展的方向有很多。再回歸到測試本身,測試的發展之路很長,需要不斷的學習進步,提升自己的硬技能和軟技能,硬技能指的是技術方面,軟技能就是我們上述提到的和其他部門人員的溝通,處理矛盾等等各方面的問題。
2.測試學習入門知識
技術路線會更加偏重代碼技術方向,測試領域有,服務器端測試,客戶端測試,安全測試,性能測試,接口測試,自動化測試,滲透測試,測試開發。當你已經達到了測試開發的水平,也就說明你離這個行業的金字塔頂端不遠了。軟件測試基礎知識:這一階段,我們需要了解軟件測試的概念,掌握軟件測試是干什么的,熟悉軟件測試的基礎理論和測試方法,了解測試的生命周期,測試流程,測試用例的編寫方法,在項目中的日常工作主要做什么等等,軟件測試相關文檔的學習和BUG提交規范的學習。語言基礎:這一階段建議大家選擇Python 或者Java入門,語言的很多思想和語法都是相通的,學完第一門,第二門就很容易上手了。手動轉自動:在我們學習了一個語言后,我們需要不斷熟悉精通這門語言,可以結合Selenium學習Web自動化測試,通過腳本,會快速提高語言基礎知識的理解和運用。了解和接觸框架:這里的框架指的是測試的框架,這一階段我們需要繼續深入研究Selenium和一些自動化測試框架的知識,其中包括,單元測試框架,Java中Junit或者testNG,Python中unittest。Linux和數據庫:當自動化測試到一定深度,就需要用代碼連接數據庫去測試,所以常見的linux和shell腳本是有必要學習的。
這個學習路線的后面幾個層面對于初學者而言是有些困難的,但是如果你了解一定的開發和有扎實的代碼基礎,在未來,成為一名測試開發會更容易些,當然,如果完全按照路線圖所學會,你的能力一定在許多測試員之上,這一點是毋庸置疑的。