對于很多新入行或者打算入行,成為軟件測試工程師的小伙伴來說,剛開始接觸這行,不知道自己究竟該學(xué)些什么,或者不知道必須掌握哪些知識,才能成為一名合格的測試工程師。根據(jù)筆者觀點,如果你能在學(xué)習(xí)過程中,學(xué)好以下知識點,自行搭建好測試知識體系,那么想入行,就非常容易啦~
1.學(xué)好測試基礎(chǔ)理論
都說理論知識是學(xué)習(xí)的基石,對于軟件測試學(xué)習(xí)來說,學(xué)習(xí)測試知識基礎(chǔ)也是非常重要的。首先,我們需要掌握軟件測試開發(fā)流程及相關(guān)模型,了解敏捷開發(fā)的相關(guān)知識,能做好測試分類,掌握測試流程,能編寫測試用例(包括但不僅限于黑盒測試的用例設(shè)計等);然后,學(xué)習(xí)缺陷(bug)管理及軟件的生命周期,能編寫測試報告等;接著,了解不同端口的測試點和測試方法,比如網(wǎng)頁端、手機端等。在這個階段,我們通常需要學(xué)習(xí)系統(tǒng)、兼容性測試、專項測試、接口測試、性能測試,還要學(xué)習(xí)使用工具。常見的有Monkey等等。還要會編寫常見的測試文檔,如bug單,測試計劃、軟件測試報告等。
2.學(xué)習(xí)數(shù)據(jù)庫
我們都知道,軟件之所以能實現(xiàn)前端和后端的交互,主要是由于數(shù)據(jù)間的聯(lián)系。而不管是哪種類型的測試,都離不開數(shù)據(jù)庫的使用和支撐。軟件前后端的交互實質(zhì)上就是數(shù)據(jù)交互。所以,學(xué)習(xí)使用數(shù)據(jù)庫就顯得非常重要。關(guān)于數(shù)據(jù)庫,測試新手們需要了解數(shù)據(jù)庫的基本概念,關(guān)系型數(shù)據(jù)庫,數(shù)據(jù)庫SQL增刪改查,常見的表操作語句,以及數(shù)據(jù)庫工具的使用。比如Navicat的使用等等。
3.學(xué)習(xí)使用Linux系統(tǒng)
我們都知道,Linux系統(tǒng)是主要的服務(wù)端操作系統(tǒng)。日常工作中,我們想要定位一些bug的來源,就需要查看服務(wù)器端的日志。很多時候,直接在軟件測服務(wù)器查日志不現(xiàn)實,所以,我們要通過Linux系統(tǒng)來搭建一個測試環(huán)境,通過這個測試環(huán)境的服務(wù)器,去找bug。所以,作為測試工程師,我們需要掌握Linux的基本知識點,比如多用戶、多版本、多發(fā)行版本等相關(guān)知識;還要知道常見的Linux命令和工具,會部署和配置基本的應(yīng)用,會安裝使用docker,會編寫基本的shell腳本,會使用遠(yuǎn)程終端工具等等。
4.會做接口測試
前面我們提到了要學(xué)習(xí)接口測試的基礎(chǔ)知識,這里更注重實際操作。關(guān)于接口測試這部分,我們主要還是分幾塊:包括HTTP/HTTPS協(xié)議,常見的請求方法,cookies和session,接口文檔和測試用例,接口測試工具的使用等等。我們都知道,接口測試本質(zhì)上也是功能測試的一種,但是接口測試的重要性卻極高,因為它會連接軟件的各個系統(tǒng),所以,學(xué)好接口測試非常重要。做好接口測試,可以更早的發(fā)現(xiàn)軟件隱藏的問題,從而提高測試效率,降低修復(fù)成本。
5.會做性能測試
關(guān)于性能測試,筆者認(rèn)為,它是一個技術(shù)要求比較高的測試版塊。如果你剛?cè)胄?,可以把性能測試作為自己工作兩年后的一個目標(biāo)。但是在那之前,你一定要先掌握好性能測試的相關(guān)內(nèi)容,這樣才能慢慢在這個領(lǐng)域立住腳跟。所以,我們要學(xué)習(xí)性能測試的基本概念、測試流程(包括但不限于需求分析、場景設(shè)計、編寫腳本、性能調(diào)優(yōu)等等)、使用性能測試工具(如Jmeter、Loudrunner等)、編寫性能測試報告。另外,多接觸性能相關(guān)的項目,學(xué)習(xí)完整的項目經(jīng)驗,對于我們未來的發(fā)展,將有非常好的幫助。
6.掌握自動化測試
自動化測試是時下流行的測試方式,也是未來測試行業(yè)發(fā)展的一個方向。學(xué)習(xí)自動化測試,對于新手來說,是拿到高薪的一個階梯。所以,在那之前,掌握一門或幾門編程語言就顯得尤為重要了。個人優(yōu)先推薦Python,其次Java,并且還要掌握一定的前端知識。另外,還要掌握相關(guān)的自動化測試工具selenium、appium等,當(dāng)然還要掌握常用的自動化測試框架。對于接口自動化測試,如果用python實現(xiàn)的話,則需要掌握requests庫和unittest框架的使用。
有余力的小伙伴,還可以掌握一些公共知識,比如SVN的使用,Git版本操控,持續(xù)集成Jenkins的部署和使用,等等。這部分主要是幫助我們更好的處理和完成工作中,一些比較有特點的測試問題。雖然不會經(jīng)常使用這些技術(shù),但是一旦出現(xiàn),有可能出現(xiàn)不知所措的問題。所以有余力的小伙伴可以多多學(xué)習(xí)。