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