作者方程老師,是前某跨國通信公司高級測試經理,目前為某互聯網名企資深測試技術專家,也是霍格沃茲測試學院「測試開發從入門到高級實戰」特邀講師。有十餘年大型電信系統測試、管理經驗,自主研發自動化測試工具的經驗,其主筆 CSDN 博客專欄《用 Python 做自動化測試》是測試類訪問量最大的專欄。
Python 作為大數據工程和 AI 的主流開發語言,近年來一直保持強勁的上升趨勢。即使目前 AI 領域還沒有大量的成功商業案例(盈利的)出現,Python 語言就已經空前火爆了。
2019 新年伊始,Python 果然不負眾望,以「AI 時代全棧語言」身份,輕鬆拿下全球知名的編程語言流行度排行榜網站 「TIOBEs 2018 年度編程語言」榮譽。相信等成功的 AI 應用和商業模式建立起來之後,市場對 Python 開發和測試技術人才的需求會有更加爆發性的增長。
「人生苦短,我用 Python」,Python 語法簡潔而清晰,並具有豐富和強大的類庫,可以輕易實現很多功能。對於初學編程者來說,Python 是最好的入門語言,沒有之一。
用 Python 開發小工具,編寫速度快且非常輕量級,實際工作當中,非常適合團隊在測試資源不充足的情況下,快速開發測試工具。而且通常實現一個功能,Python 的代碼量是別的語言如 Java 的 1/3-1/5。目前,越來越多大廠新工具的開發,技術棧都選擇了 Python。因此,通過掌握 Python 自動化測試技術進入軟體測試和質量保障領域,已經是測試行業新人的入行路徑最佳選擇。
在這裡,我想首先強調的是,學習任何一門新的東西,信心和毅力一樣重要。 只要掌握了正確的方法並加以刻意練習,就連初中的小孩都可以熟練掌握 Python。筆者身邊有兩位非 IT 行業的朋友,他們的孩子在初中就參加培訓班,已經學會用 Python 寫簡單遊戲和機器人程序了。難道你的邏輯思維和動手能力還比不過初中生嗎?
有時候,所有的學習方法都不如鼓起勇氣,狠狠的逼自己一把。筆者自己就是完全通過自學掌握 Python 的。其實筆者從初中到大學就不怎麼聽老師講課,基本全靠自學。背後緣由說來話長,初二時與班主任老師關係不好,為了凸顯自己 NB,無師自通,上課就故意睡覺不聽課,但考試成績又必須要好,否則就丟人了??。所以,每次寒暑假,我都會提前半學期把班主任的課程自學一遍。在少年自尊心驅使下,不自覺的鍛煉了自學能力,後來效果越來越好,到了高中和大學的時候,幾乎所有課程我都會提前自學。這也算是逆風生長,在壓力下收穫了出乎意料的成長。
作為過來人,筆者也簡單分享下「學好 Python 自動化測試開發的路徑和建議」:
現在市面上有不少 Python 相關的基礎培訓課程,質量不錯價格也不貴,一般都在 1000-2000 左右,甚至幾百塊錢。其實掌握了 Python,跳個槽,這些課程消費相比工資漲幅是微不足道的。
最重要的成本其實是學習時間成本,投資自己的大腦是性價比最好的投資。
在 Python 自動化測試之旅中,最重要的一點是「學習好 Python 語言基礎」,所謂磨刀不誤砍柴功。
在入門過程中,選擇一本好的入門書是非常關鍵的事情,這直接關係到你是從入門到精通還是從入門到放棄。
《簡明 Python 教程》
《父與子的編程之旅》
入門的書建議大家不要選擇太多,這 2 本就足夠了。
在學習的過程中,大家可以參考對照下面的 Python 知識圖譜。這些技術點都是將來測試開發工作中經常用到的語言技能。
Python 進階學習材料
學完了 Python 基礎後,需要更進一步系統學習 Python 技術體系,可以參看下面 2 本書。
《Python 核心編程》
《Python標準庫》
Q:Python 2 還是 Python 3?
A:如果是去年這個時候,我可能還會建議初學者學習 Python 2,但現在,我會毫不猶豫的建議大家學習Python 3,官方已經聲明 Python 2 在 2019 將不再支持。很多人可能會擔心,現在看的書都是以Python 2 為例子的,在 Python 3 裡面有語法錯誤。
Q:IDE 的選擇?
A:Python 免費 IDE 很多,Linux、Windows、Mac 下的 IDE 都不少,筆者用過很多 IDE,但沒有一款可以和 Pycharm 相提並論。Pycharm 有社區版和專業版,社區版是免費的,功能可以滿足大多數人的需要了。專業版請根據個人情況購買。
在「如何從 0 開始學 Python 自動化測試開發」系列專題後面的內容里,筆者將會逐步分享很多實用的模塊和方法,以及技術學習和工程實踐中常見的難點問題。
希望能幫助大家在測試開發道路上走的更快更穩更遠。我們的口號是,學會 Python,升職加薪!
也期待各位同學分享文章到朋友圈推薦給更多小夥伴,有任何問題也歡迎留言交流!
推薦閱讀:
TAG:Python | 軟體測試 | 自動化測試 |