你好,我一個經(jīng)受住六年磨練的程序猿,很高興回答你的問題。
首先我們先了解一下什么是軟件測試:
軟件測試(Software Testing),描述一種用來促進鑒定軟件的正確性、完整性、安全性和質(zhì)量的過程。換句話說,軟件測試是一種實際輸出與預(yù)期輸出之間的審核或者比較過程。軟件測試的經(jīng)典定義是:在規(guī)定的條件下對程序進行操作,以發(fā)現(xiàn)程序錯誤,衡量軟件質(zhì)量,并對其是否能滿足設(shè)計要求進行評估的過程。
那學習軟件測試從哪里入手呢?
我認為分為初級階段是很容易的,向我們公司的測試人員,首先是了解項目的業(yè)務(wù)流程,然后就是一通點點點,找到不合理,崩潰等bug。其實這就是最基礎(chǔ)的測試,但是這也是最初級的階段。
初級階段需要掌握四個方面的內(nèi)容:一、軟件測試的基礎(chǔ)知識,編寫測試文檔
二、掌握禪道、SVN等必要工具
三、web測試與app測試的方式方法與協(xié)議
中級階段需要掌握以下方面的內(nèi)容:
一、自動化工具、性能工具等的環(huán)境搭建以及使用(QTP、loadrunner、jmeter等)
二、app/web性能測試
三、fiddler抓包工具的操作使用、Jenkins自動化部署工具
高級階段就不是一兩句能說完的了,需要時間和經(jīng)驗的積累例如:
一、業(yè)務(wù)分析能力1.分析被測業(yè)務(wù)數(shù)據(jù)
了解整個業(yè)務(wù)里面所需的數(shù)據(jù)有哪些?了解我們用戶群體的數(shù)據(jù)等等
2.分析被測系統(tǒng)架構(gòu)
用什么語言開發(fā)的?用的是什么服務(wù)器?測試它的話需要用什么樣的環(huán)境進行測試?整體的測試環(huán)境是什么樣的?
3.分析被測業(yè)務(wù)模塊
整個軟件有哪些模塊,比如說首頁面、注冊頁面、登錄頁面等
4.分析測試完成目標
我的性能和功能目標是什么樣的?比如整體的業(yè)務(wù)流程都跑通,UI界面沒有問題是否有很好的用戶體驗,兼容性沒有問題等
二、缺陷洞察能力1.一般缺陷的發(fā)現(xiàn)能力
發(fā)現(xiàn)軟件的缺陷并提出意見和建議等
2.隱性問題的發(fā)現(xiàn)能力
在測試過程當中有一些很難發(fā)現(xiàn)的問題,例如性能方面或事功能方面的問題,它需要特定的條件下出現(xiàn)。對于這樣的問題的發(fā)現(xiàn)能力一定要有,要找到一些別人可能發(fā)現(xiàn)不了的bug。
3.發(fā)現(xiàn)連帶問題的能力
當發(fā)現(xiàn)了一個問題之后,通過這個問題發(fā)現(xiàn)連帶的問題。而不是說發(fā)現(xiàn)這一個bug之后提了這一個就算完了,一定要了解可能其他地方也存在這樣的問題。
總結(jié):說到底軟件測試這個行業(yè)是一個入門簡單,但是想要進階高級層次也不是一件容易的事。需要你的不斷學習,不斷積累。需要你掌握的東西其實很多,方面很廣。需要你了解每一個項目的各個業(yè)務(wù)流程,可能有時候比程序猿了解的還要深刻,這樣你才能成為一個好的測試人員。不過只要你肯努力堅持就一定會成功的,多說一句:“一個好的測試人員工資待遇還是很可觀的”。 祝你成功。