軟體測試工程師如何從功能測試轉成自動化測試?經驗分享篇

博為峰網校發表於2019-08-15

隨著測試行業的發展,"會程式碼"越來越成為測試工程師的一個標籤。開啟各大招聘網站,測試工程師月薪一萬以上基本都有一個必備技能,那就是自動化測試。那麼自動化測試到底難不難呢?下面我將會將我的經歷講給大家聽,希望聽完後,大家會有自己的一個判斷。

軟體測試工程師如何從功能測試轉成自動化測試?經驗分享篇

1、我是誰

大家好,我是軟體測試汪。不知不覺,入行軟體測試也有小5個年頭。待過創業公司也待過上市公司。做過功能測、自動化測試也做過效能測試。做過測試新人也做過測試組長。如果要是從這5年中說出最寶貴的經驗,我想應該是知識體系化。那麼什麼是知識體系化,每個人都有不同,下面簡單來談一下我的知識體系化。

2、我的成長路線

功能測試——>UI自動化

回想剛入行那會,功能測試都玩不溜。所以花了很多時間在功能測試用例的設計上,隨著專案越做越多。用例設計也變得手到擒來。自己的內心也不滿足於只做功能測試,覺得自動化測試很厲害的樣子。後來去學了程式碼基礎。但是有一個問題,學了程式碼基礎還是不會做自動化測試,因為那時候還傻傻分不清自動化到底有哪幾種。隨著學習的深入,知道軟體測試中常見的自動化主要分為2種,一種是UI自動化,一種是介面自動化。那麼先學哪個呢?當時覺得UI自動化有點不明覺厲,因為可以代替手工點點點,非常酷炫。後來又花小半年時間學習UI自動化。到這裡可能有點人會說,UI自動化要學這麼久嗎?對於我當時來說,是的。雖然是計算機專業出身,但是大學學的東西基本都忘差不多了。我們先來看UI自動化要學哪些內容(以selenium舉例),下面用個思維導圖簡單列一下:

軟體測試工程師如何從功能測試轉成自動化測試?經驗分享篇

當然UI自動化需要學的內容遠不止以上這些,這些東西算是比較核心的。學習過程中所有的知識都是零散的,想要組合起來對一個小白來說卻是很難。後來有機會加入一個新的公司,需要用到UI自動化,然後去GitHub上找了很有優秀的程式碼以及看一些部落格,終於實現了第一個自動化專案。那種感覺是非常棒的,但是也被個大神說這有啥,不就是按鍵精靈嗎(捂臉哭)

UI自動化——>介面自動化

當然,也是被這個大神帶上走介面自動化之路,有了UI自動化學習經驗,學習介面自動化基本沒有費什麼功夫。如果讓我說UI自動化和介面自動化各有哪些優缺點,這是不好比較的,其目的都是為了軟體質量。但是如果讓我選擇,我會選擇介面自動化,因為介面一般是不容易變得的,UI介面是經常變的,所以介面自動化的維護成本相對較低。

介面自動化——>效能測試

UI自動化,介面自動化學完了,學什麼呢?我又去學了效能,為什麼學效能,完全是工作需要,後來發現效能真的是個無底洞,需要了解開發知識、伺服器架構、作業系統、測試監控工具、容器知識等等。知識面太廣,現在還在苦苦掙扎。當然在效能測試過程中,也去學了一些開發知識,之前做UI/介面自動化或者功能測試時只能從黑盒/灰盒層面去判斷BUG原因,學了開發知識後,大概就知道這個bug是如何產生了。這對我自己的測試生涯也算是有了一個提高。

說了這麼說,其實我們軟體測試人員的知識體系常見的就以下幾點:

軟體測試工程師如何從功能測試轉成自動化測試?經驗分享篇

當然這個體系要細可以很細,每個點可能都需要串很多知識,但是當我們真正用到的時候,發現其實很多知識都可以串起來的。當我們有了自己的知識體系,我想,不論在哪家公司,不論什麼專案,基本都可以做到遊刃有餘。當然這個體系裡面有一個最重要一點,就是記筆記!這也是我為什麼花3個月時間整理《測試開發之Python Django 介面自動化測試框架實戰》路線圖的原因。

3、我整理的介面自動化測試

下面來看一下我整理的《測試開發之Python Django 介面自動化測試框架實戰》有哪些內容:

軟體測試工程師如何從功能測試轉成自動化測試?經驗分享篇

《測試開發之Python Django 介面自動化測試框架實戰》路線圖分為7個部分

第一部分python、python IDE 以及本地資料庫環境安裝。

第二部分django的基礎,讓大家對django有一個快速的認識。

第三部分http協議以及cookie和session,然後根據前面所學知識開發一個部落格系統以及教會大家如何編寫介面測試文件。

第四部分Python下面的requests庫,是介面自動化必備技能。

第五部分unittest單元測試框架,如何使用引數化編寫介面測試用例,如何初始化我們的資料庫,如何批次執行我們的測試用例以及生成測試報告。然後帶大家開發一個屬於自己的介面自動化測試框架。

第六、七部分git/GitHub基礎,帶領大家對專案進行持續整合。

那麼為什麼是這7個部分?

1)雖然是如何使用python做介面自動化測試。但是我們為什麼講開發?我們常常說介面測試介面測試,那麼什麼是介面?介面如何開發?想一下,如果我們連線口都會開發了,介面測試對於我們測試人員來說是不是小菜一碟。

2)一定要有python基礎。因為Django本身也是python下的一個框架。

3)好了,介面開發出來了,也會使用python做介面自動化測試了,這樣就夠了嗎?答案是當然不夠。為了滿足企業級需求,我加入了Git/GitHub以及持續整合的部分。

4.技術基礎及如何進階?

技術要求:

Python基礎!Python基礎!Python基礎!重要的事情強調3遍。

比如簡單的介面我們會開發了,那麼如何去開發一個完整的系統(介面測試平臺)?就需要我們深入學習前端知識和Django開發知識了。這也是我們成長為測試開發的必經之路。再比如我的路線圖中用的是MySQL資料庫,如果我們專案用的是oracle資料庫,我們應該如何連線以及如何初始化我們的資料庫呢?學習無止境,搜尋引擎會是我們最好的工具。

5.你能收穫什麼?

有了程式碼量,不論是在公司還是出去找工作也會更加自信。回到我們開始提出的問題,自動化測試到底難不難?我的答案是看你想不想學。4G的普及,帶動了APP的快速發展,同時也養活了我們很多測試工程師。5G就在眼前,我們很難預知5G是否會是測試人員的一個機遇。但是我們可以肯定,如果我們止步不前,未來一定會離我們越來越遠。距離2020年還有5個月,利用這5個月好好學習,希望大家不管是技術還是荷包都會有一個大的收穫

加我VX:ww-51testing   回覆關鍵詞“測試”領取限量軟體測試學習資料哦~~

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2653837/,如需轉載,請註明出處,否則將追究法律責任。

相關文章