天天看點

軟體測試人員該學習 Python 的七個理由

軟體測試人員該學習 Python 的七個理由

對于一個軟體測試工程師來說,選哪一門語言來入手程式設計一直是件非常糾結的事情,當然立志做一輩子功能測試的人除外。

值得慶幸的是,專門介紹軟體,工具及網站服務的技術Blog上CarlCheo繪制了一張圖表,告訴你該怎麼開始偉大的碼農航道。

軟體測試人員該學習 Python 的七個理由
大多數好的程式員做程式設計不是因為他們期望得到報酬或者被公衆所接受,而是因為程式設計很有趣。
  • 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自動化測試、web自動化、接口自動化、移動端自動化、面試經驗交流等等感興趣的測試人,可以加群

軟體測試人員該學習 Python 的七個理由