軟件測試工程師如何從功能測試轉(zhuǎn)成自動化測試?

PS:本文轉(zhuǎn)載自黑馬測試知乎
鏈接:https://www.zhihu.com/question/27986014/answer/3054662174

功能測試轉(zhuǎn)成自動化測試,答案就三個字:“靠學(xué)習(xí)”。
學(xué)習(xí)自動化的方法無非是三種:
一、靠培訓(xùn)(下方有如何選擇培訓(xùn)機(jī)構(gòu))
在相對有氛圍的學(xué)習(xí)環(huán)境中來學(xué)習(xí)自動化測試,這是一個較快學(xué)習(xí)的方法。
二、靠自學(xué)自動化教程(下方有視頻資源推薦)
如果在職,不能全職學(xué)習(xí),可以找一些自動化學(xué)習(xí)的視頻,選擇看視頻學(xué)習(xí),這也是一個不錯的方法。
三、靠閱讀自動化相關(guān)書籍(下方有書籍推薦)
不喜歡看視頻,喜歡看書的可以選擇此種
但無論哪種學(xué)習(xí)方法,學(xué)習(xí)都不是輕松的,為了讓大家獲得動力,本文結(jié)構(gòu)梳理如下:
1)什么是自動化測試?明確學(xué)習(xí)內(nèi)容
2)為什么要學(xué)習(xí)自動化測試?明確學(xué)習(xí)動力
3)學(xué)習(xí)自動化,需要掌握那些知識呢?明確學(xué)習(xí)路徑
4)分享學(xué)習(xí)自動化測試的學(xué)習(xí)類資源
5)如何在工作中實(shí)戰(zhàn)自動化測試知識呢?明確內(nèi)化方法
一、什么是自動化測試,明確學(xué)習(xí)內(nèi)容
談到自動化測試,前面就要給大家普及下什么是功能測試。
功能測試,功能測試主要以手工測試為主,也就是所謂的點(diǎn)點(diǎn)點(diǎn)。
主要目的是驗(yàn)證軟件的功能是否按照《產(chǎn)品需求文檔》中所定義的預(yù)期行為運(yùn)作。
測試人員了解需求的基礎(chǔ)上,通過編寫測試用例,手動執(zhí)行用例,發(fā)現(xiàn)功能bug,保障軟件滿足用戶的需求。
自動化測試,通俗來講,就是通過工具或代碼,代替人工來做功能測試。

所以自動化測試,是以工具(如Selenium、Appium、JMeter、LoadRunner)或代碼為主、通過編寫測試的腳本,替代人工執(zhí)行測試用例,快速的完成回歸測試任務(wù)。
因此自動化測試可以提高測試效率、減少測試成本、提高測試覆蓋率和減少測試周期。
自動化測試可以應(yīng)用于各種軟件測試領(lǐng)域,包括功能測試、性能測試、安全測試、兼容性測試等。
二、為什么要學(xué)習(xí)自動化測試?明確學(xué)習(xí)動力
為什么要學(xué)習(xí)自動化測試?最現(xiàn)實(shí)的原因,是現(xiàn)在高薪的測試崗位,都對自動化測試有要求。請看下方截圖:

為什么高薪的測試崗位都需要自動化測試技術(shù)呢?因?yàn)樽詣踊瘻y試可以實(shí)現(xiàn):
1、提高測試效率:
自動化測試可以快速地執(zhí)行測試用例,減少手動測試的時間和成本,提高測試效率;
2、提高測試覆蓋率:
自動化測試可以執(zhí)行大量的測試用例,覆蓋更多的功能和場景,提高測試覆蓋率;
3、提高測試質(zhì)量:
自動化測試可以減少人為因素的干擾,提高測試的準(zhǔn)確性和可靠性,從而提高測試質(zhì)量;
4、降低測試成本:
自動化測試可以減少人力資源的投入,降低測試成本;
5、支持持續(xù)集成和持續(xù)交付:
自動化測試可以與持續(xù)集成和持續(xù)交付相結(jié)合,實(shí)現(xiàn)快速反饋和快速迭代,提高軟件交付的效率和質(zhì)量。
總之:
對企業(yè)而言,自動化測試可以極大提升回歸測試的效率,提高人效。
對測試人員而言,自動化測試可以將個人主要精力放在復(fù)雜業(yè)務(wù)的測試,保障測試快速的迭代,保質(zhì)保量提早完成測試任務(wù)。
所以, 如果你懂自動化測試,不管是代碼能力還是測試工具的使用,都會提升個人在團(tuán)隊(duì)中的地位也算自己在測試職業(yè)生涯中就有了核心的競爭力。
反之,如果你干了幾年測試,還是無法做到自動化測試的全面和效率,技能還停留在只會點(diǎn)點(diǎn)點(diǎn)的手工測試(純功能測試)階段,即使現(xiàn)在還有低薪的工作,但也終究會被市場淘汰。
三、學(xué)習(xí)自動化,需要掌握那些知識呢?明確學(xué)習(xí)路徑
1、明確學(xué)習(xí)路徑
簡單來講,自動化簡單劃分:接口自動化、UI自動化
對于由功能測試轉(zhuǎn)過來的初學(xué)者,咱們可以考慮從先接口自動化入手。目前企業(yè)中接口自動化使用較多,便于學(xué)習(xí)后推廣和使用;
然后再學(xué)習(xí)UI自動化,包含Web和APP的UI自動化,作為進(jìn)階;
2、要學(xué)習(xí)自動化,需要掌握那些知識呢?
1)首先必須學(xué)會功能測試
自動化測試是以工具或代碼替代人工執(zhí)行測試,執(zhí)行的測試用例和手工測試是一樣的,所以自動化測試也需要我們掌握一些手工測試的基礎(chǔ)知識,比如用例編寫、bug提交、數(shù)據(jù)庫SQL語句等,這些對于手工轉(zhuǎn)行的人來說應(yīng)該是沒有問題
2)必須要學(xué)會一門編程語言
雖然使用工具也可以做自動化測試,但是未來趨勢測試還是需要會代碼比較吃香;編程語言常見的比較適合來做自動化的如java、python等,初學(xué)者推薦python,相對比較簡單,適合初學(xué)者;如果是有過開發(fā)經(jīng)歷,轉(zhuǎn)行到測試的可以考慮Java。
對于編程語言的選擇,如果想深入了解,可以狠狠點(diǎn)擊下面這2篇文章:
自動化測試語言到底選擇Java還是Python?二者有何區(qū)別?
http://bbs.itheima.com/forum.php?mod=viewthread&tid=505905
《Python 和Java 哪個更適合做自動化測試?181 贊同 · 32 評論回答》
https://www.zhihu.com/question/264353399/answer/2453360401
3)學(xué)習(xí)接口自動化測試
可以直接使用一些開源的框架執(zhí)行測試即可,比如Postman工具.
4)學(xué)習(xí)UI自動化測試
可學(xué)習(xí)一些UI自動化的框架:web瀏覽器自動化推薦Selenium、移動端推薦Appium、其他還有Robot Framework等;
5)學(xué)習(xí)持續(xù)集成
完成自動化測試后,最終實(shí)現(xiàn)自動化都會配合持續(xù)集成完成,所以還需要掌握一些測試工具,如Jenkins、Git等。

四、分享學(xué)習(xí)自動化測試的學(xué)習(xí)類資源
1、若靠培訓(xùn)
培訓(xùn)機(jī)構(gòu)魚龍混雜,所有的測試培訓(xùn)機(jī)構(gòu)都號稱自己是主打自動化測試。
如果若選擇培訓(xùn)機(jī)構(gòu)呢?告訴你一個競品絕不敢告訴你的方法,絕對有用。請狠狠點(diǎn)擊下方文章:
《這么多的軟件測試培訓(xùn)機(jī)構(gòu),哪個好?2214 贊同 · 358 評論回答》
https://www.zhihu.com/question/21471129/answer/1501002082
2、自學(xué)自動化測試教程
如果在職,不能全職學(xué)習(xí),可以找一些自動化學(xué)習(xí)的視頻,推薦下方的b站學(xué)習(xí)路線圖,太多人好評,且完美符合上方展示的的自動化測試學(xué)習(xí)路徑:


有關(guān)自動化測試學(xué)習(xí)視頻,在這里也整理了一些,也已經(jīng)分門別類列好:
《如何學(xué)習(xí)自動化測試?2182 贊同 · 305 評論回答》
https://www.zhihu.com/question/22211535/answer/1579948115
3、閱讀自動化測試相關(guān)書籍
不喜歡看視頻,喜歡看書,若想學(xué)習(xí)自動化測試,推薦書籍如下
推薦1:《python編程從入門到實(shí)戰(zhàn)》

此書豆瓣評分9.1分。
本書籍免費(fèi)版PDF下載地址:http://bbs.itheima.com/thread-514245-1-1.html
推薦2:《Web接口開發(fā)與自動化測試》

附:本電子書免費(fèi)下載地址:http://bbs.itheima.com/thread-514629-1-1.html
推薦3:《python自動化測試實(shí)戰(zhàn)》

推薦4:《Python實(shí)現(xiàn)Web UI自動化測試實(shí)戰(zhàn)》

此書主要介紹如何基于Python使用Selenium、unittest、Pytest、GitLab、Jenkins等工具實(shí)現(xiàn)Web UI自動化測試,以幫助提升測試水平。
五、如何在工作中實(shí)戰(zhàn)自動化測試知識呢?明確內(nèi)化方法
實(shí)俗話說,實(shí)踐出真理,學(xué)習(xí)的所有知識,都是為了解決實(shí)際工作的業(yè)務(wù)問題,只有解決問題的技術(shù)才是好技術(shù),能解決技術(shù)的知識才能說明你真的學(xué)會了。

所以不管是通過哪種方式來學(xué)習(xí),一定要把學(xué)習(xí)的知識應(yīng)用于實(shí)踐當(dāng)中。
1)選擇項(xiàng)目中某一個小模塊進(jìn)行試驗(yàn)
如果自己沒有項(xiàng)目,可看下面的文章,找一個項(xiàng)目即可:
《軟件測試簡歷項(xiàng)目經(jīng)驗(yàn)怎么寫,沒有項(xiàng)目經(jīng)驗(yàn)?810 贊同 · 120 評論回答》
https://www.zhihu.com/question/297929745/answer/2367785915
2)如果是公司項(xiàng)目,首先和領(lǐng)導(dǎo)溝通好自動化測試的時間投入,確定要達(dá)到的目標(biāo)。接下來開始搭建環(huán)境。不知道如何搭建,也可看下面這篇文章:
《如何從零開始搭建公司自動化測試框架?410 贊同 · 70 評論回答》
https://www.zhihu.com/question/56625870/answer/2429570734
3)搭建好環(huán)境后,起步首選接口自動化測試,先進(jìn)行單接口的功能腳本調(diào)試,完成后再進(jìn)行接口的自動化測試調(diào)試。如果時間比較緊張,可以先選中postman或jmeter等工具,上手快,出成果快。
接口自動化測試如何做,可以看下面這篇文章
《接口自動化測試要做什么?48 贊同 · 1 評論回答》
https://www.zhihu.com/question/384727359/answer/3051556678
接口自動化工具到底是選postman和jmeter,可以看下面這篇文章:
《求推薦幾款http接口自動化測試工具?168 贊同 · 17 評論回答》
https://www.zhihu.com/question/32223087/answer/1974065215
4)如果想要達(dá)到較好的效果,可以選擇使用編程語言比如python進(jìn)行接口自動化測試的測試,可以找一個開源的框架,直接套用,不知道有哪些自動化測試框架,可以看下面這篇文章:
《有什么好的開源自動化測試框架可以推薦?226 贊同 · 18 評論回答》
https://www.zhihu.com/question/19923336/answer/2585952461
5)當(dāng)這個模塊的腳本調(diào)試完成后,可以在項(xiàng)目測試中執(zhí)行回歸測試,驗(yàn)證測試的效果,然后根據(jù)實(shí)際的使用效果進(jìn)行框架的修改和調(diào)整,在實(shí)踐中優(yōu)化你的腳本和框架。

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

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