天天看點

如何從 0 開始學 Python 自動化測試開發(一)

本文是「如何從 0 開始學 Python 自動化測試開發」專題系列文章第一篇,适合零基礎入門的同學。

作者方程老師,是前某跨國通信公司進階測試經理,目前為某網際網路名企資深測試技術專家,也是霍格沃茲測試學院「測試開發從入門到進階實戰」特邀講師。有十餘年大型電信系統測試、管理經驗,自主研發自動化測試工具的經驗,其主筆 CSDN 部落格專欄《用 Python 做自動化測試》是測試類通路量最大的專欄。

如何從 0 開始學 Python 自動化測試開發(一)

Python :「TIOBE's 2018 年度程式設計語言」

Python 作為大資料工程和 AI 的主流開發語言,近年來一直保持強勁的上升趨勢。即使目前 AI 領域還沒有大量的成功商業案例(盈利的)出現,Python 語言就已經空前火爆了。

2019 新年伊始,Python 果然不負衆望,以「AI 時代全棧語言」身份,輕松拿下全球知名的程式設計語言流行度排行榜網站 「TIOBE's 2018 年度程式設計語言」榮譽。相信等成功的 AI 應用和商業模式建立起來之後,市場對 Python 開發和測試技術人才的需求會有更加爆發性的增長。

「人生苦短,我用 Python」,Python 文法簡潔而清晰,并具有豐富和強大的類庫,可以輕易實作很多功能。對于初學程式設計者來說,Python 是最好的入門語言,沒有之一。

用 Python 開發小工具,編寫速度快且非常輕量級,實際工作當中,非常适合團隊在測試資源不充足的情況下,快速開發測試工具。而且通常實作一個功能,Python 的代碼量是别的語言如 Java 的 1/3-1/5。目前,越來越多大廠新工具的開發,技術棧都選擇了 Python。是以,通過掌握 Python 自動化測試技術進入軟體測試和品質保障領域,已經是測試行業新人的入行路徑最佳選擇。

然而,最近很多測試新人問到,自己之前并沒有程式設計基礎,是否能學好和用好 Python?如何掌握 Python 自動化測試的繁雜知識體系?

如何從 0 開始學 Python 自動化測試開發(一)

Python 自動化測試學習路徑和建議

作為過來人,筆者也簡單分享下「學好 Python 自動化測試開發的路徑和建議」:

首先,學好 Python 語言基礎,這個是你以後深入自動化測試開發基礎的基礎。

很多初學者肯定會懼怕資料結構、算法等知識。我的建議是,初學者開始階段完全可以先跳過對資料結構和算法的深究,而将精力放在先學會怎麼用 Python 程式設計,曆練幾個較大的項目,熟練掌握程式設計技能之後,再回過頭去深入學習資料結構和算法。

其實對很多測試開發崗位來說,你不會算法都沒事,一般的自動化測試工具對性能要求是比較低的,能把業務邏輯實作了才是關鍵。

其次,熟悉 Python 常見内庫。這樣你在實作一些業務邏輯或者功能的時候,能很快想到用哪個内嵌的子產品,或者第三方子產品。Python 開發速度快很重要的一個原因就是有非常豐富的自有庫和第三方庫。

然後,熟悉接口測試中的 Requests,APP 自動化測試 Appium, Web自動化的 Selenium,資料庫的連接配接和操作庫 pymysql,還可以簡單的了解下 Windows 下 GUI 的自動化測試庫 pywinauto。

接着,學習 UnitTest, pytest, page object 的設計模式,掌握大型的自動化測試工具的設計思路。當然,最後要實作持續內建,快速測試、疊代,你還需要學習 Jenkins。

最後,Just Do It! 實踐是檢驗真理的唯一标準,代碼是檢驗你學習效果的最好途徑,把你實際工作中重複的、或者手工很麻煩的事情,嘗試用 Python 來實作它!

另外,最好能找到一個既懂 Python 又懂測試開發的導師或朋友,請教學習規劃和建議,最重要是在遇到卡殼的地方請他指點,這樣會事半功倍,少走很多彎路。

現在市面上有不少 Python 相關的基礎教育訓練課程,品質不錯價格也不貴,一般都在 1000-2000 左右,甚至幾百塊錢。其實掌握了 Python,跳個槽,這些課程消費相比工資漲幅是微不足道的。

最重要的成本其實是學習時間成本,投資自己的大腦是成本效益最好的投資。

其他常見問題

Q:Python 2 還是 Python 3?

A:如果是去年這個時候,我可能還會建議初學者學習 Python 2,但現在,我會毫不猶豫的建議大家學習Python 3,官方已經聲明 Python 2 在 2019 将不再支援。很多人可能會擔心,現在看的書都是以Python 2 為例子的,在 Python 3 裡面有文法錯誤。

其實 Python2 和 Python 3 文法上差别不是很大,遇到一些小差異,大家 Google 一下,或者去相關論壇上查找,或請教老司機,是可以解答的。

Q:IDE 的選擇?

A:Python 免費 IDE 很多,Linux、Windows、Mac 下的 IDE 都不少,筆者用過很多 IDE,但沒有一款可以和 Pycharm 相提并論。Pycharm 有社群版和專業版,社群版是免費的,功能可以滿足大多數人的需要了。專業版請根據個人情況購買。

尾語

在「如何從 0 開始學 Python 自動化測試開發」系列專題後面的内容裡,筆者将會逐漸分享很多實用的子產品和方法,以及技術學習和工程實踐中常見的難點問題。

希望能幫助大家在測試開發道路上走的更快更穩更遠。

(文章來源于霍格沃茲測試學院)

點選領取:自動化+側開+性能+履歷+面試核心教程資料