令開發者萬分高興的是,開發自己的測試框架的日子終於結束了。以前,開發團隊接手一個項目並開始開發時,除了項目模塊的實際開發之外,他們不得不為這個項目構建一個自動化測試框架。一個測試框架應該具有最佳的測試用例、假設(assumptions)、腳本和技術來運行每一處代碼和模塊,從而發現代碼缺陷和不足。不同的項目需要不同的測試用例、假設和腳本,而這也是為什么會在這些開發中花費大量時間。
隨着技術的進步和自動化技術的出現,市面上出現了一些自動化測試框架,你可以使用這些框架,在調整特定測試適用性和效率參數后,測試你項目的任何模塊。這節省了時間,而且由於這些框架被廣泛使用,它們非常穩健,具有廣泛多樣的用例集和技術來輕易發現微小的缺陷。今天,我們將看一看可用的 Python 自動化測試框架。
Robot Framework
Robot Framework 是最流行的 Python 自動化測試框架。它是完全用 Python 開發的,對於驗收測試非常有用。這個框架可以運行在 Java 和.NET 環境。它還支持跨平台,例如 Windows、MacOS 和 Linux。這個產品是由世界上一些著名的測試人員創建的,擁有關鍵詞驅動方案。它有如此多可用的工具和庫,使得這個框架非常先進和健壯。
它是一個開源框架,並且留有 API 擴展空間。表格式的測試數據語法和關鍵詞驅動測試使得它在全球的測試人員中非常流行。它無疑是最易用的自動化測試框架,並且允許你進行並行測試。
http://robotframework.org/
RedwoodHQ
RedwoodHQ 是一個流行的自動化測試工具,它的流行是由於大部分流行的編程語言都可以用來編寫測試,例如 Java、Python、C# 和 likewise。它有一個網站界面,在那里多個測試人員可以在一個平台上協作和運行測試用例。在 RedwoodHQ 中出現的 action 關鍵字可以用來毫不費力地創建和修改測試用例。你所需要做的只是找到你需要的 action,將它拖到你的測試盒中,然后輸入參數並改變它們的值來生成一份完整的測試報告。它有一個內置的 IDE(集成開發環境),你可以在那里創建和修改測試用例,並且並行運行它們。它是對用戶最友好或對測試人員最友好的平台之一,它關注一個重大項目的全部測試過程。
下載網址:http://redwoodhq.com/
Jasmine
Jasmine 對於 JavaScript 單元測試使用行為驅動開發框架。它適用於任何使用 JavaScript 的地方。除了 JavaScript 之外,它還被用於 Python 和 Ruby 自動化測試。因此,它使得你可以並行運行客戶端測試用例和服務端測試用例。它是一個將客戶端和服務端單元測試結合起來的完美的測試框架,而且被認為是測試領域的未來。它現成可用,除了需要一個名為 Karma 的測試運行器之外,不需要其它外部依賴。
下載網址:https://jasmine.github.io/
Pytest
如果你的項目比較小、復雜度比較低,Pytest 是最適合的自動化測試平台。非常多的 Python 開發者都喜歡它,他們大部分用它來進行單元測試。它也具有 Robot Framework 所聞名的驗收測試能力。Pytest 最好的特性之一是,它提供了測試用例的詳細失敗信息,使得開發者可以快速准確地改正問題。它兼容最新版本的 Python。它還兼容 unittest、doctest 和 nose,開箱即用。它還有包含更多功能的插件和多樣化的現有測試技術和測試用例。事實上,有 300 多個可用插件來自它的活躍社區。該平台設計用於編寫更簡單錯誤率更小的代碼。你可以將 Pytest 與諸如 Selenium 和 Splinter 之類的圖形用戶界面一起使用,來使得測試工作更輕松。
下載網址:http://pytest.org/latest/
結 論
對於任何編程語言來說,都沒有絕對理想的測試框架。它取決於開發者的舒適度、項目需求和項目中特定模塊所需的測試類型。可用的自動化測試框架有線性自動化、基於模塊的測試、函數庫框架測試、混合測試、關鍵詞驅動和數據驅動測試等。每個框架都有它的優點和缺點。上面列舉的 python 框架是性能最全面的自動化測試框架。