如何學(xué)習(xí)自動(dòng)化測(cè)試?

ps:本文轉(zhuǎn)載在黑馬測(cè)試知乎高贊文章:https://www.zhihu.com/question/22211535/answer/1579948115

寫在前面:
自動(dòng)化測(cè)試是一個(gè)非常廣泛的技術(shù),要想深入精通到更行各業(yè),需要至少5年的鉆研才能精通,所以有著足夠的技術(shù)縱深。熟練到一定級(jí)別,甚至做上技術(shù)總監(jiān)也不是沒(méi)有可能。所以自動(dòng)化測(cè)試是廣大測(cè)試新手彎道超車?yán)蠝y(cè)試的好機(jī)會(huì)。
本帖不僅給大家介紹自動(dòng)化測(cè)試,更會(huì)提供大量學(xué)習(xí)自動(dòng)化工具的平臺(tái),所以還等什么,趕緊看點(diǎn)贊收藏這個(gè)帖子吧,值得反復(fù)看。
“如何學(xué)習(xí)自動(dòng)化”,這個(gè)題目綜合性很強(qiáng),比較難hold住,接下來(lái)我將按照自動(dòng)化的三大構(gòu)成來(lái)給大家展開(kāi),希望能對(duì)大家有用。
自動(dòng)化構(gòu)成:
自動(dòng)化測(cè)試在當(dāng)前市場(chǎng)上應(yīng)用非常廣泛,主流有接口自動(dòng)化測(cè)試和UI自動(dòng)化測(cè)試。在此基礎(chǔ)上,加上持續(xù)集成,就能實(shí)現(xiàn)全自動(dòng)化測(cè)試。接下來(lái)我將按照自動(dòng)化的這三個(gè)主要構(gòu)成來(lái)給大家詳細(xì)介紹自動(dòng)化:
一、接口自動(dòng)化測(cè)試
二、UI自動(dòng)化測(cè)試
三、持續(xù)集成
一、接口自動(dòng)化測(cè)試
目前市場(chǎng)上大部分項(xiàng)目,都是前后端分離的項(xiàng)目,由此產(chǎn)生了大量的接口。而接口自動(dòng)化測(cè)試,主要是對(duì)接口進(jìn)行測(cè)試。
那么,咱們應(yīng)該怎么進(jìn)行接口自動(dòng)化測(cè)試呢?這里這幾個(gè)知識(shí)點(diǎn)和工具,必須掌握。
1、HTTP和HTTPS協(xié)議
在主流程的接口測(cè)試中,又有大量接口是基于HTTP協(xié)議實(shí)現(xiàn),數(shù)據(jù)安全用HTTPS協(xié)議進(jìn)行保障,所以HTTP和HTTPS協(xié)議必須掌握。
學(xué)習(xí)參考鏈接:
轉(zhuǎn)載CSDN博客:HTTP和HTTPS協(xié)議,看一篇就夠了_不一樣的博客-CSDN博客_https
2、接口文檔
在實(shí)際工作中,接口的信息的載體除了代碼,那就是接口文檔了(開(kāi)發(fā)人員提供),了解接口文檔的結(jié)構(gòu)、內(nèi)容和規(guī)范可以幫助我們深度參與接口測(cè)試以及接口自動(dòng)化測(cè)試。
3、接口測(cè)試工具Jmeter和Postman
meter是近幾年興起的接口測(cè)試工具,它最大的特點(diǎn)就是免費(fèi)開(kāi)源,容易學(xué)習(xí)。
Jmeter官網(wǎng):https://jmeter.apache.org/index.html

推薦視頻:《自動(dòng)化工具Jmeter_入門到進(jìn)階6小時(shí)搞定》

Postman工具也很強(qiáng)大,在實(shí)際的項(xiàng)目應(yīng)用中,幾乎每個(gè)開(kāi)發(fā)都會(huì)使用Postman來(lái)調(diào)試接口請(qǐng)求。
Postman主界面

官網(wǎng)文檔

推薦視頻:《接口測(cè)試入門篇》?

4、Mock測(cè)試
在自動(dòng)化測(cè)試中,不是所有的功能都適合自動(dòng)化測(cè)試,對(duì)于一些難以處理的測(cè)試點(diǎn),我們不得不使用Mock技術(shù)來(lái)模擬。
登錄和注冊(cè)接口中,密碼的Mock
Mock支付環(huán)境
Mock支付密碼
Mock驗(yàn)證碼(圖片驗(yàn)證碼、滑塊驗(yàn)證碼、人臉識(shí)別等、短信驗(yàn)證碼等等)
推薦視頻:《python實(shí)現(xiàn)頭條項(xiàng)目接口自動(dòng)化測(cè)試實(shí)戰(zhàn)》

5、總結(jié)
掌握這幾個(gè)知識(shí)點(diǎn)后,對(duì)于HTTP協(xié)議的接口自動(dòng)化測(cè)試,完全可以掌握和應(yīng)用;甚至還可以進(jìn)行小規(guī)模的接口性能測(cè)試。
二、UI自動(dòng)化測(cè)試
UI自動(dòng)化測(cè)試的成本比接口測(cè)試要高,主要原因不是技術(shù)實(shí)現(xiàn)難度高,而是因?yàn)閁I是對(duì)接用戶的終端界面,它是調(diào)整最頻繁,改動(dòng)最劇烈的部分,所以維護(hù)成本高。
那么我們不需要進(jìn)行UI自動(dòng)化測(cè)試了嗎?恰恰相反,對(duì)一些大型項(xiàng)目,其功能是處于不斷地迭代地,雖然界面在調(diào)整,但是由于項(xiàng)目周期長(zhǎng),在開(kāi)發(fā)和測(cè)試過(guò)程中,需要頻繁使用自動(dòng)化測(cè)試的腳本進(jìn)行回歸測(cè)試,可以提高自動(dòng)化測(cè)試的利用率,提高工作效率,降低工作成本。
而且,UI自動(dòng)化測(cè)試中,有一種很關(guān)鍵的思想,叫做“關(guān)鍵字驅(qū)動(dòng)”測(cè)試,專門用來(lái)解決UI自動(dòng)化測(cè)試腳本開(kāi)發(fā)和維護(hù)的問(wèn)題。
那么怎么學(xué)習(xí)UI自動(dòng)化測(cè)試呢?
在這里,我們可以先學(xué)習(xí)Web自動(dòng)化測(cè)試,再學(xué)習(xí)app自動(dòng)化測(cè)試。
1 、Web自動(dòng)化測(cè)試
這里推薦Selenium工具和Robot framework
推薦理由:Selenium和Robot framework是世界上排名前十的自動(dòng)化測(cè)試工具(不區(qū)分UI自動(dòng)化和接口自動(dòng)化)
如下圖所示2019年最受歡迎自動(dòng)化測(cè)試工具:(Selenium高居榜首)

1.1 Selenium
Selenium主要是進(jìn)行Web自動(dòng)化測(cè)試,同時(shí)在手機(jī)app自動(dòng)化測(cè)試中,有一些測(cè)試框架也是基于Selenium來(lái)實(shí)現(xiàn)。如果要進(jìn)行Web自動(dòng)化測(cè)試,學(xué)習(xí)selenium是不二之選。
優(yōu)點(diǎn)
跨平臺(tái)、跨語(yǔ)言
支持多種瀏覽器
支持移動(dòng)端測(cè)試
插件多,擴(kuò)展性強(qiáng)
缺點(diǎn)
不能直接生成測(cè)試報(bào)告
不能識(shí)別動(dòng)態(tài)圖片
掌握Selenium后,那么就掌握了主流的Web自動(dòng)化測(cè)試。
學(xué)習(xí)Selenium的方法
先掌握手工功能測(cè)試,理解測(cè)試的功能業(yè)務(wù)
再學(xué)習(xí)HTML、CSS、JS這三大知識(shí)
第三學(xué)習(xí)Selenium測(cè)試框架
最后學(xué)習(xí)PO分層管理的思想
推薦視頻:

1.2 Robot framework
Robot Framework是python語(yǔ)言編寫的功能自動(dòng)化測(cè)試工具。具有良好的擴(kuò)展性,支持關(guān)鍵字驅(qū)動(dòng),支持同時(shí)測(cè)試多種類型的客戶端或者接口,還可以進(jìn)行分布式測(cè)試。
優(yōu)點(diǎn)
關(guān)鍵字驅(qū)動(dòng)測(cè)試
可以重復(fù)利用
易擴(kuò)展
支持HTML測(cè)試報(bào)告
有龐大的測(cè)試庫(kù)提供支撐(支持web、手機(jī)、windows客戶端、數(shù)據(jù)庫(kù)、HTTP測(cè)試等)
缺點(diǎn)
界面操作共性問(wèn)題:用例龐大時(shí)會(huì)很卡
有一些BUG,例如導(dǎo)入測(cè)試庫(kù)時(shí)會(huì)卡死
學(xué)會(huì)了Robot Framework的使用,那么就掌握了關(guān)鍵字驅(qū)動(dòng)技術(shù)。
關(guān)鍵字驅(qū)動(dòng):
參考鏈接:自動(dòng)化測(cè)試關(guān)鍵字驅(qū)動(dòng)的原理及實(shí)現(xiàn) - 張飛_ - 博客園
學(xué)習(xí)Robotframework的方法
參考鏈接:https://www.cnblogs.com/juanweihu/p/7802591.html
1.3 總結(jié)
Selenium和Robot framekwork 兩者如果都能夠掌握,那么無(wú)論是主流的Web自動(dòng)化測(cè)試,還是其他UI的自動(dòng)化測(cè)試,都能夠有自己的心得,并且在市場(chǎng)中占有一席地位。
2 app自動(dòng)化測(cè)試
2.1 應(yīng)該選擇哪款工具?
我們先看一組數(shù)據(jù)(主流):

支持的功能數(shù)據(jù)(TesterHome得到)

由上面兩個(gè)圖,可以發(fā)現(xiàn),appium無(wú)論是在市場(chǎng)利用率,還是在功能上,都比其他工具要強(qiáng)。
而且,appium不僅支持安卓還支持iOS,所以在這里,我們應(yīng)該選擇學(xué)習(xí)appium最能滿足市場(chǎng)的需要。
2.2 appium學(xué)習(xí)方法
官網(wǎng):http://appium.io/

中文學(xué)習(xí)手冊(cè)::https://www.kancloud.cn/testerhome/appium_docs_cn/2001595

推薦視頻實(shí)戰(zhàn)視頻:

三、持續(xù)集成
1、什么叫持續(xù)集成?
我們假想一個(gè)場(chǎng)景,現(xiàn)在一個(gè)測(cè)試工程師把自動(dòng)化腳本都編寫好了,但是這位大佬還是需要每天上班點(diǎn)擊“開(kāi)始“運(yùn)行腳本,而且當(dāng)開(kāi)發(fā)提交新的版本時(shí),也需要重新運(yùn)行自動(dòng)化腳本。
那么可以不可以讓這個(gè)自動(dòng)化腳本,自動(dòng)的運(yùn)行,并且在開(kāi)發(fā)每次發(fā)布版本之后,自動(dòng)的執(zhí)行呢?當(dāng)然可以,這就是持續(xù)集成。
要學(xué)習(xí)持續(xù)集成,我們首先推薦jenkins。
2、什么是持續(xù)集成工具Jenkins?
Jenkins工具是JAVA編寫的開(kāi)源工具,無(wú)論是擴(kuò)展性,還是實(shí)用性,都非常好,很多中小型公司都是用jenkins進(jìn)行持續(xù)集成,一些大型公司也是在jenkins的基礎(chǔ)上進(jìn)行的二次開(kāi)發(fā)。
3、如何學(xué)習(xí)Jenkins
理解CI和CD的概念
CI:持續(xù)集成(把多個(gè)開(kāi)發(fā)編寫的代碼,集成在代碼倉(cāng)庫(kù),自動(dòng)進(jìn)行單元測(cè)試,并返回結(jié)果)
CD:持續(xù)交付(把集成的代碼,自動(dòng)的構(gòu)建、部署、測(cè)試、發(fā)布,并返回各個(gè)階段的結(jié)果)要實(shí)現(xiàn)這些過(guò)程,我們需要拆分學(xué)習(xí)
集成代碼
單元測(cè)試
構(gòu)建代碼
部署代碼
測(cè)試代碼
發(fā)布代碼
發(fā)送測(cè)試結(jié)果
使用Jenkins整合這些過(guò)程
要想把持續(xù)集成學(xué)好,光靠Jenkins這個(gè)工具其實(shí)還遠(yuǎn)遠(yuǎn)不夠,我們甚至需要深入到架構(gòu)設(shè)計(jì)、開(kāi)發(fā)、測(cè)試、運(yùn)維才能很好的進(jìn)行。
四、總結(jié)
其實(shí)自動(dòng)化測(cè)試是一個(gè)非常廣泛的技術(shù),要想深入精通到更行各業(yè),需要至少5年的鉆研才能精通,熟練到一定級(jí)別,甚至做上技術(shù)總監(jiān)也不是沒(méi)有可能。
對(duì)于測(cè)試來(lái)講,測(cè)試的工作其實(shí)相對(duì)是輕松,技術(shù)難度也不是特別高,所以大家在做測(cè)試期間,一定要持續(xù)學(xué)習(xí),持續(xù)集成,才能進(jìn)步,實(shí)現(xiàn)自我的價(jià)值。


若你是對(duì)測(cè)試不太了解的測(cè)試小萌新,有太多太多對(duì)測(cè)試的疑惑(前途、薪資、技術(shù)含量、男生是否可以干.....),強(qiáng)烈推薦你觀看《測(cè)試小白必看:學(xué)習(xí)軟件測(cè)試必問(wèn)的100個(gè)問(wèn)題,從此貼開(kāi)始》,相信能掃除掉你心目中90%以上的常見(jiàn)問(wèn)題。
《100個(gè)常見(jiàn)問(wèn)題鏈接》http://bbs.itheima.com/thread-507947-1-1.html?

最后,為方便大家自學(xué)軟件測(cè)試,特意給大家準(zhǔn)備了一份13G的超實(shí)用干貨學(xué)習(xí)資源,涉及的內(nèi)容非常全面。
包括軟件學(xué)習(xí)路線圖,黑馬50多天的上課視頻、16個(gè)突擊實(shí)戰(zhàn)項(xiàng)目,80余個(gè)軟件測(cè)試用軟件,37份測(cè)試文檔,70個(gè)軟件測(cè)試相關(guān)問(wèn)題,40篇測(cè)試經(jīng)驗(yàn)級(jí)文章,上千份測(cè)試真題分享,還有2020軟件測(cè)試面試寶典,還有軟件測(cè)試求職的各類精選簡(jiǎn)歷,希望對(duì)大家有所幫助…..
《2020軟件測(cè)試學(xué)習(xí)路線圖,內(nèi)附視頻教程+自學(xué)路線+工具+面試篇》
bbs.itheima.com/thread-405757-1-1.html
