阿里P8大佬的自動化測試學習路線!2021最新技術~
首先目前主要可以分為兩個方向,要么是基于Java的自動化,要么是基于Python的自動化。
回答從3個面向去解答你這個問題:
一、自動化測試的學習步驟;
二、自動化測試需要掌握的技術能力;
三、自動化測試的認識誤區(qū)

一、自動化測試的學習步驟
1. 做好手工測試(了解各種測試的知識);
2. 學習編程語言;
3. 學習Web基礎;
4. 學習自動化測試工具 ;
5. 學習自動化測試框架 ;
6. 實現(xiàn)自動化測試用例 ;
7. 開發(fā)自動化測試工具;
8. 開發(fā)自動化測試框架。
按照這個步驟來說,基本上到第7步,難度就比較大了,這個時候也可以稱呼自己為“測試開發(fā)”
二、做自動化測試需要掌握哪些技能?
第一,首先要學會一門語言,java或者Python,這里針對Python去說。如果要能夠滿足自動化測試的需求,不要求Python的能力上來就達到精通的水平,但是最起碼的使用是要有的,然后在后期在逐步根據測試工具進行進階。

第二,需要掌握前端的一些知識,無論學習語言還是前端知識,都是為了接下來的腳本和框架做鋪墊。

第三,數據庫的重要性不言而喻,MySQL必須掌握

第四,web端自動化測試工具selenium

第五,接口測試自動化工具jmeter、postman等

第六,移動端自動化測試appium

好了,明確完自動化測試的學習思路和流程,下面再額外的說一下在學習自動化之前,最容易出現(xiàn)的一些認識誤區(qū),如果這些問題不糾正的話,對于自動化測試的影響將影響比較大。
三、自動化測試的認識誤區(qū)
1、自動化的軟件測試與手工的軟件測試過程一樣?有些人認為自動化的軟件測試就是簡單地按一個錄制的按鈕,產生測試腳本。而事實上并沒有那么簡單。
最重要的是,自動化測試工程師需要掌握軟件開發(fā)技巧,沒有接受任何培訓的手工測試人員,或者沒有編程背景的手工測試人員,在實施自動化測試時會碰到很多困難。
2、自動化測試一定會馬上大量減少測試人員數量
自動化測試不會馬上大量減少測試人員數量。因為開展自動化測試初期需要投入一定的人力進行自動化測試腳本開發(fā),并逐漸將自動化測試腳本用于日常的測試中,逐步減少手工測試人員從事重復勞動的時間和人數。為了縮短自動化測試腳本的開發(fā)時間,可以考慮將自動化測試腳本的開發(fā)工作借助外包的力量來早日實現(xiàn)大規(guī)模的自動化測試。
3、測試自動化就是錄制和回放
僅僅錄制得到的不是有效的自動化腳本。很多項目經理仍然把測試自動化等同于使用錄制回放工具。而事實上,錄制得到的腳本通常是不可重用的腳本,腳本中充滿了硬編碼的值,這些值應該被參數化,否則腳本僅僅適用于一個測試情況,腳本還應該加入條件判斷、循環(huán)等結構,以便增強測試腳本的靈活性。
4、自動化測試找不到bug
自動化測試不直接找bug,而是通過解放有經驗的測試工程師的生產力,讓其從重復的回歸測試中解放出來,從事新的測試方法和測試手段的研究。**通過自動化測試解放出測試人員的時間和精力來間接地找到更多、更深層次的新bug,將產品質量再提高一個檔次。
5、自動化測試工具是“萬能”的
很多人一聽到自動化測試,就認為自動化測試工具可以完成一切測試工作,從測試計劃到測試執(zhí)行再到測試結果分析,都不需要任何人工干預。顯然,這是一種理想狀態(tài),現(xiàn)實中還沒有哪個測試工具有這個能力,并且將來也不會有。在現(xiàn)實中有關的測試設計、測試案例,以及一些關鍵的測試任務還是需要人工參與的,即自動化測試是對手工測試的輔助和補充,它永遠也不可能完全取代手工測試。

四、自動化測試很難,那么我們?yōu)槭裁匆獔猿肿詣踊兀?/h1>單元測試是保證代碼質量最基本也是最根本的途徑,單元測試是自動化測試的一種,因此自動化的重要性不言而喻;
集成測試在很多情況下非常適合使用自動化的手段去運行,最明顯的例子是rails里的integration test;

當你的單元測試和集成測試都沒做好,甚至是沒有做的情況下,UI級的自動化測試可以扮演救火隊員的角色,盡管成本很高,但是可維護的UI測試代碼是回歸測試的福音,也是提高測試生產力的重要手段;
自動化測試可以培養(yǎng)團隊,一個團隊如果可以把自動化測試做好,那么他們的開發(fā)水平一定不低,而且如果這些人去做開發(fā),代碼的質量反而比一般的開發(fā)人員要高,原因很容易理解,測試人員堅信沒有測試過的東西就是不可信的,代碼如果沒有被測試過,那么代碼自然是不可信的,不可信的代碼就需要用單元測試去覆蓋,因此這可以從根本上提高代碼的質量。
單元測試是保證代碼質量最基本也是最根本的途徑,單元測試是自動化測試的一種,因此自動化的重要性不言而喻;
集成測試在很多情況下非常適合使用自動化的手段去運行,最明顯的例子是rails里的integration test;

當你的單元測試和集成測試都沒做好,甚至是沒有做的情況下,UI級的自動化測試可以扮演救火隊員的角色,盡管成本很高,但是可維護的UI測試代碼是回歸測試的福音,也是提高測試生產力的重要手段;
自動化測試可以培養(yǎng)團隊,一個團隊如果可以把自動化測試做好,那么他們的開發(fā)水平一定不低,而且如果這些人去做開發(fā),代碼的質量反而比一般的開發(fā)人員要高,原因很容易理解,測試人員堅信沒有測試過的東西就是不可信的,代碼如果沒有被測試過,那么代碼自然是不可信的,不可信的代碼就需要用單元測試去覆蓋,因此這可以從根本上提高代碼的質量。