三個月可以學會,但是想要達到精通還需更多的時間。
這個時間取決于你對自動化測試是否有正確的認識
目前行業(yè)內對于自動化測試的還是存在很多誤區(qū)的,管理層為了自動化而去自動化,學習者學到最后只會用一些工具。
關于學習路線,我放在后面講,在此之前必須先聊一下行業(yè)內做自動化測試的現狀:
管理層在引入自動化測試之前必須要思考的三個問題
送給自動化測試學習者的6條建議
自動化測試從入門到精通快速進階路線(對標大廠)
如果你遇到了一個外行的領導,可能自動化會搞得一塌糊涂
測試經理或者測試總監(jiān)在引入自動化之前,不能簡單化和孤立化的去看待自動化測試,不能粗暴的幻想引入自動化一定能夠提高效率,減少成本,因此一定要思考好3個問題:
不是所有的項目都適合直接引入自動化測試
應該在什么時間介入自動化測試
最終項目的自動化程度和自動化率
什么樣的項目適合自動化:回歸測試為主的項目,長期需要做支持維護;覆蓋率測試;壓力測試。
自動化測試介入的時間:在項目的初期可能就不太適合,因為接口和用戶界面沒有穩(wěn)定,代碼來頻繁改動,維護成本會非常的高;到了項目的后期和維護階段,自動化介入,為回歸測試做準備。
自動化程度和自動化率:項目早期可能不太適合用自動化,但是可以選用某些環(huán)節(jié),比如環(huán)境的搭建、穩(wěn)定的公用接口、軟件的部署等,這些都是比較穩(wěn)定的。當然也可以根據具體的項目類型進行不同的調整。
如果管理層在沒有思考過這3個問題就盲目引入自動化測試,說明在領導認知層面是存在一些問題的:
1、盲目幻想,認為自動化測試能夠省錢,想著搞起來自動化,省掉多少多少人力成本;
2、不清楚自動化測試目標是什么,對于達到目標所要進行的投入也沒有計劃;
3、自動化測試如果做的成功的話,是可以節(jié)省成本和提高產品質量,但是卻把節(jié)省人力成本當做核心目標,這樣的對于項目來說是致命的;
4、自動化測試寫好一次,能夠用很多次,沒有必要花很多時間去改代碼;
如果有這種情況出現,說明你遇到了一個啥也不懂外加異想天開的領導。
基于我的經驗,送給想要學習自動化測試的同學6條建議
第一條建議:先學習編程語言,然后再接觸自動化工具。
語言選擇上Java或者Python都是可以的,可以先從Python入手,之后再開始Java。在學習語言的過程中,一定要忘掉你是做測試的,把自己當成開發(fā),系統(tǒng)的去學相關的編程知識,因為語言水平的高低,很大程度上就決定了自動化水平的高低。
第二條建議:打好基礎,而不是本末倒置的學習自動化測試工具
不理解http協議,就不會理解loadrunner、fiddler、soapUI這些工具;不理解HTML,就不會理解firebug。所以基礎打好了,才會事半功倍。
第三條建議:清晰的認清自己,明確自己的目標
說白了,咱干什么事情之前肯定要先看看自己有幾斤幾兩對吧,先評估一下自己現在的能力水平,然后再看下自己能夠投入什么樣的資源(精力、時間、資金)去學習,這樣才會知道什么樣的內容自己能夠搞明白,哪個階段要請教大牛,別整到最后越學越迷茫;其次就是認清自己能力之后,就要給自己定好合理的目標,多長時間達到什么樣的水平。
第四條建議:選擇好切入點,設計好對自己幫助最大的方案
接口自動化:Python+Unittest+HtmlTestRuner+Jenkins和Java+Httpclient+TestNG+Jenkins
web自動化:Python+Webdrver+HtmlTestRunner+Jenkins,Java+Webdriver+TestNG+Jenkins
APP自動化Robotium+Java+TestNG+Jenkins,Appium+Java+TestNG+Jenkins,Appium+Python+HtmlTestRunner
輔助測試腳本:以Shell,Python為主來簡化重復的工作,過濾日志等
當然這些都是基本的實現方案,別的先不介紹。如果剛開始接觸,我建議是選擇語言之后,然后從接口測試入手,然后再學習web和APP自動化。
第五條建議:貪多嚼不爛,學會舉一反三
新手上路,容易著急,啥都想學,這樣就容易混淆,也不好消化。很多地方都是相通的,代碼架構、用例管理、等都可以舉一反三,既可以提升你的學習效率,也不會混淆。最重要的是不能紙上談兵,一定要動手去實踐。
第六條建議:不要受限于工具,多用開源
在測試行業(yè),自動化測試工具有很多,但是大公司趨向于用開源的框架和工具,然后定制適合自己的測試方案。學著用一些開源的例如Webdriver, Appium等去搭建自己的自動化測試工程,然后掌握整體的自動化工作原理,為以后能夠搭建自己的工具平臺做準備,畢竟搞定自動化,可不是會使用幾個工具那么簡單。
自動化測試的最高境界:開發(fā)測試工具、設計自動化框架,讓別人用。
自動化測試學習終極路線,從語言入手,搞定自動化測試
掌握Python或者Java語言,建議先從Python入手
基本的語言知識,語法、函數、模塊、輸入與輸出、面向對象編程
腳本編寫、標準庫、多線程、第三方庫,外部數據處理
unittest、pytest測試框架、參數化、數據驅動
web端的自動化測試
selenium安裝、錄制、處理
web控件、JavaScript腳本、PO模式
移動端APP自動化測試
appium使用、錄制、元素定位方法
APP控件定位、交互,參數化用例
appium問題定位分析、源碼分析、二次封裝
服務端接口自動化測試
接口自動化測試框架request
接口請求構造、斷言
json/xml請求、響應斷言
headcookie處理、認證體系
如果你按照這這個學習路線把自動化測試吃透,那么月薪在15-25K是很輕松的事情,同時具備了代碼能力,也就可以繼續(xù)向測試開發(fā)去努力了!
寫在最后:
無論你在測試團隊中是什么樣的身份,無論你對于自動化測試是什么樣的認知,也無論你對自動化測試是愛還是恨,自動化都是你從手工測試轉為測試開發(fā)的必經之路。
或許你會聽到自動化測試成本高、效果差、效率低等負面的反饋,但你要清晰的知道,這都不是自動化測試的問題,對于某種工具,某個方案,最終的效果還是由實施者來去決定的。
我們能夠做到的是正視自動化測試,找準方法,不斷的提升自己!
明確了具體的進階路線,那就給自己半年到一年的時間,沉住氣,狠狠的朝著這個方向努力一把!
干貨分享
房子要一層一層蓋,知識要一點一點學。大家在學習過程中要好基礎,多上手實操,話不多說,這里狠狠上一次干貨!這是我熬夜整理好的各階段(功能、接口、自動化、性能、測開)技能學習資料+實操講解,非常適合私下里學習,比找資料自學高效多了,分享給你們。
領取關 w/x/g/z/h:軟件測試小dao
敲字不易,如果此文章對你有幫助的話,點個贊收個藏來個關注,給作者一個鼓勵。也方便你下次能夠快速查找。
本文摘自 :https://blog.51cto.com/u