軟體測試人員該學習 Python 的七個理由
對於一個軟體測試工程師來說,選哪一門語言來入手編程一直是件非常糾結的事情,當然立志做一輩子功能測試的人除外。
值得慶幸的是,專門介紹軟體,工具及網站服務的技術Blog上CarlCheo繪製了一張圖表,告訴你該怎麼開始偉大的碼農航道。
更清晰一點的圖片可以訪問以下鏈接:http://carlcheo.com/wp-content/uploads/2014/12/which-programming-language-should-i-learn-first-pdf.pdf
大多數好的程序員做編程不是因為他們期望得到報酬或者被公眾所接受,而是因為編程很有趣。
- Linus Torvalds(Linux的創建者)
以上的觀點贊成80%, 當我們不為高昂的房價和丈母娘的催促所煩惱的時候。
除了有趣,CC先生私下認為還有以下的理由值得軟體測試工程師去選擇Python作為自己的工作語言。
1.Python 易於學習
好吧,相較於其它許多你可以拿來用的編程語言而言,它會「更容易一些」。Python 的語言沒有多少儀式化的東西,所以就算不是一個 Python 專家,你也能讀懂它的代碼。
學習一門語言,CC先生的經驗是:talk is cheap,show me the code.
想想從小到大你為了學一門英語經歷了多少個日日夜夜,學的最快的難道不是在看美劇或者打英文版的遊戲的時候么?
許多的測試人員本身的測試任務其實是比較繁重,學習時間又比較零散,想系統的學習一門語言對於大家來說不太現實,易學易用易上手的Python的語法裡面條條框框以及特殊的處理場景比起其它靜態語言來說少得多。它所專註的並非語言表現的豐富程度,而是你想要用你的代碼完成什麼。
2.Python 讓你能用少量的代碼構建出更多的功能
Python 能帶給所有開發者一種快速的學習體驗。通過實踐,你可以在最多兩天之內輕鬆實現一個具備基礎功能的遊戲 (而這還是在對編程完全不了解的情況下)。這也是為什麼Python 在 2014 年成為美國高校入門課程最受歡迎語言的原因。
如果你是想完成公司裡面的自動化測試的整體部署,那麼以下的各個方面Python都可以幫你實現:
- UI自動化測試(Python+Selenium等)
- 介面測試(Python requests等)
- 性能測試(Python Locust等)
- 安全性測試(Python Scapy等)
- 兼容性測試(Python+Selenium等)
- 大名鼎鼎的Robotframework自動化測試框架就是基於Python編寫的
- etc測試工程師和開發工程師在使用語言開發測試工具或者測試框架的一個區別在於,測試工程師會專註於快速的實現功能,他可以用更多的時間去進行探索性的測試,自動化測試的本質是提高測試效率,這就意味著你需要選一個好用,易上手的語言。
3.Python 是一門多才多藝的語言,更是一個平台
出生於1991年的Python 崇尚優美、清晰、簡單,是一個優秀並廣泛使用的語言 (TIOBE語言排行第八,Google的第三大開發語言,Dropbox的基礎語言,豆瓣的伺服器語言)。這個世界並不缺乏優秀的語言,但Python的發展史作為一個代表,帶給使用語言的我們許多啟示。
Python可以被應用於如今你所能想得到的相當多的軟體開發和操作場景。要管理本地或者雲基礎設施嗎?Python可以。開發網站?OK,它也能行的。需要處理一個 SQL 資料庫?可以。需要為 Hive 或者 Pig 定製一個功能?能做到。只是想為自己構建一個小工具?Python 就是最好的選擇。需要一門支持面向對象設計的語言?Python 的特性就能滿足啦。寫網頁爬蟲?用Python可以;想進行 文本處理 ?Python可行; 想進行科學計算 & 機器學習 & 數據挖掘?Python更是箇中好手。簡而言之,將 Python 了解得更加深入一點點,就能讓你具備可以適應範圍更寬泛的工作角色的技能。
4.Python 擁有最成熟的程序包資源庫之一
一旦你了解了該語言,就可以利用上這個平台。Python 以 PyPI (讀作 Pie-Pie,可以從這裡在線進行了解)為其後盾, 這是一個擁有超過 85,000 個 Python 模塊和腳本的資源庫,你拿過來就立馬可以使用。這些模塊向你的本地 Python 環境分發已經預先打包好的功能,可以用來解決各種諸如資料庫處理,計算機視覺實現,像維度分析這樣的高級數據分析的執行,或者是構建 REST 風格的 web 服務這些問題。
5.Python 在數據科學領域被廣泛使用
不管你從事的是什麼工作,數據都會是其中的一部分。IT,軟體開發,市場等等 —— 它們都深度地關乎數據且對於智慧求之若渴。很快數據分析技能就會像編碼技能一樣的重要,而 Python 在兩個領域都佔有重要的地位。Python 緊挨著 R 語言,都是現代數據科學中最常被使用的語言。事實上,在數據科學領域,Python 的職位職位需求超過了 R 語言。你在學習 Python 時發展出來的技能將會直接轉換並被用來構建起自己的這些分析技能。
6.Python 是跨平台且開源的
Python 可以跨平台運行,並且已經開放源代碼超過20年的時間了,如果你需要代碼能同時在Linux,Windows 以及 macOS 上跑起來,Python 就能滿足要求。此外,有數十年的修修補補以及不斷完善做後盾,可以確保你能夠隨心所欲地運行自己的代碼。
7.Python 是靈活的
Python被稱之為膠水語言是有它的原因的。因為有一些Python同其它編程語言集成在一起的穩定實現。
CPython, 同 C 集成的版本。
Jython, 同 Java 集成的Python版本。
IronPython, 被設計用來兼容 .Net 和 C#。
PyObjc, ObjectiveC 工具下的 Python 寫法。
RubyPython, 同 Ruby 集成的 Python 版本。
或許,以下這一個理由已經足夠:
人生苦短,我用Python
註:本文由蝸牛學院測試導師 CC老師 原創,首發自個人簡書,原文鏈接:http://www.jianshu.com/p/135e191a928f。如需轉載請聯繫我方獲得授權並註明出處。希望繼續在IT行業突破提升自己的各位朋友,也歡迎加群384053806,不管你自我感覺牛不牛B。
推薦閱讀:
※Python3.6正式版要來了,你期待哪些新特性?
※Apache伺服器上同時運行php的網站和django的網站,該如何配置Apache和Django的URL?
※Python數據分析及可視化實例之Pandas函數速查表
※如何使用python做中文情感分析