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