時間一晃已來到 2017 年的尾巴,千鋒互聯(lián)的軟件測試教學總監(jiān)王老師對比了在今年比較熱門的 7 款開源自動化測試框架的優(yōu)缺點,以幫助你選擇適合自己的測試框架。
1. Robot Framework
??Robot Framework(RF)是用于驗收測試和驗收測試驅動開發(fā)(ATDD)的自動化測試框架。 基于 Python 編寫,但也可以在 Jython(Java)和 IronPython(.NET) 上運行,提供跨平臺支持(Windows、Linux 或 MacOS )。
優(yōu)點:
?經過使用關鍵字驅動測試(KDT)方法簡化了自動化測試過程,方便測試人員創(chuàng)建易讀的測試。
?測試數據語法簡單易用。
?生態(tài)系統(tǒng)豐富。由各種通用測試庫和工具組成,這些工具都是作為獨立項目開發(fā)的。
?具有高度可擴展性。
?可經過 pabot 或 Selenium Grid 執(zhí)行并行測試。
缺點:
??自定義 HTML 報告較為麻煩。
??如果是針對大范圍的庫和擴展的 KDT 自動化測試,建議使用此跨平臺框架。如果想要添加新的關鍵字(經過 RF 測試庫 API ),需要具備 Java / Python / C 語言的基礎知識。
2. JUnit
??JUnit 是一款針對 Java 應用的單元測試框架,用于編寫和運行可重復的測試。
優(yōu)點:
?純 Java 編寫。
?支持測試驅動開發(fā)(TDD)。
?允許創(chuàng)建自己的單元測試用例套件。
?能很好地與其他工具(如 Maven )和 IDE(如 IntelliJ )集成。
?長時間發(fā)展,有自己龐大的用戶群體,可以很容易找到文檔。
缺點:
??如果需要 mocking 能力,則需要額外添加 Mockito(或其他模擬庫)。
??因 JUnit 中的方法名稱受 Java 約定限制等原因,非技術人員很難讀懂測試結果。
??如果你正在為你的 Java 應用編寫單元測試,那這可能是更好的選擇。 但是,對于功能測試或非 Java 應用,應考慮其他解決方案。
3. Spock
??Spock 是用于 Java 和 Groovy 應用的測試和規(guī)范框架,基于 JUnit 。
優(yōu)點:
?測試可讀性強,支持簡單的英文句子,便于閱讀。
?提供周邊上下文,從而能**了解如何解決故障。
?內置 mocking 和 stubbing 功能。
?支持數據驅動測試(DDT)。
缺點:
??需要具備基本的 Groovy 語言知識。
??如果你的應用是基于 JVM 的,并且目標是使用 DSL 進行 BDD 自動化測試,則此框架正適合!
4. NUnit
??NUnit 是支持所有 .Net 語言的單元測試框架。起初也是基于 Junit 的啟發(fā),完全采用 C# 編寫,目前已被完全重新設計以使用更多 .NET 語言功能。
優(yōu)點:
?啟動和測試執(zhí)行速度快。
?自帶斷言和注釋。
?支持并行測試。
?支持測試驅動開發(fā)(TDD)。
缺點:
??非跨平臺,僅適用于 .Net 語言。
??未集成到 Visual Studio echo 系統(tǒng)中,意味著使用它需要更多的維護。
??一個很好的 C#開源單元測試框架,歷史悠久,口碑較高。 不過,如果你正準備使用 .NET 語言,也可以考慮 MSTest 。
5. TestNG
??TestNG 是一個 Java 自動化測試框架,受 JUnit 和 NUnit 的啟發(fā),但又改進和新增了一些功能。旨在涵蓋所有自動化測試類別:單元測試、功能測試、端到端、集成測試等。
優(yōu)點:
?容易整合到 maven 循環(huán)中。
?使開發(fā)人員能夠編寫靈活而強大的測試。
?支持數據驅動測試(DDT)。
?注釋很容易理解。
?測試用例可以**分組。
?允許創(chuàng)建并行測試。
缺點:
??只支持 Java ,至少需要具備 Java 編程語言的基礎知識。
??必須投入時間進行框架設置和設計。
??如果你使用 Java ,并正尋找端到端的自動化測試框架,同時愿意投入一點時間去設置框架,你應該考慮使用 TestNG 。
6. Jasmin
??Jasmine 是一個 JavaScript 單元測試框架, 也被稱為 JavaScript 的行為驅動開發(fā)(BDD)測試框架。適用于網頁、Node.js 項目或任何可以運行 JavaScript 的地方。它主要與 AngularJS 配對使用。
優(yōu)點:
?除了 JavaScript ,還可以運行在 Python 和 Ruby 中。如果想在你的服務器端運行客戶端測試,它可以幫助你。
?被許多 CIs 使用和支持。
?內置用于斷言的語法。
缺點:
??多數情況下,它需要一個測試運行器(如 Karma )。
??難以異步測試。
??如果你正在尋找一個統(tǒng)一的(客戶端 - 服務器)單元測試解決方案,Jasmin 可能會非常適合。
7. Mocha
??Mocha 是一個 JavaScript 單元測試框架,它在 NodeJs 上運行測試,主要與 ReactJS 配對使用。
優(yōu)點:
?內置測試運行器。
?支持異步測試。
?使用靈活,可使用任何符合需求的斷言庫(Chai、expect.js、Must.js 等)作為 Node 標準“斷言” 功能的替代品。
缺點:
??相對較新 (起始于 2012 年),意味著有許多的未知性和可變性,在某些方面或缺乏用戶基礎和支持。
僅提供基本的測試結構,因此需要額外的設置和配置。
如果你正在尋找 JavaScript 的獨立單元測試框架,Mocha 是**!
還要學習更多的軟件測試自動化嗎?快來千鋒互聯(lián)看看吧!
千鋒互聯(lián)校區(qū)
北京天豐利校區(qū)(總部):北京市海淀區(qū)寶盛北里西區(qū)28號
北京沙河校區(qū):北京市昌平區(qū)沙陽路18號
廣州校區(qū)地址:廣州市天河區(qū)元崗路310號
(注:其他校區(qū)咨詢老師)
千鋒互聯(lián)一直秉承“用良心做教育”的理念,全力打造互聯(lián)網技術型研發(fā)人才服務優(yōu)質平臺。現(xiàn)在北京、深圳、上海、鄭州、廣州、大連、武漢、成都、西安、青島、杭州、重慶、長沙開設分公司。擁有全國的專業(yè)教學以及就業(yè)保障團隊,成為學員信賴的IT培訓機構!
以上就是小編簡單的介紹,希望對你有所幫助,還有更多相關的訊息,歡迎咨詢,驚喜多多,收獲多多。
課程咨詢
咨詢老師:金老師
咨詢電話:010-64707530
咨詢微信:15110074071
相關推薦
課程 | 班型 | 費用 |
千鋒互聯(lián)UI設計培訓班 | 白天班/晚班/周末班 | 點擊了解 |
千鋒互聯(lián)python培訓班 | 白天班/晚班/周末班 | 點擊了解 |
千鋒互聯(lián)HTML5培訓班 | 白天班/晚班/周末班 | 點擊了解 |
千鋒互聯(lián)軟件測試培訓班 | 白天班/晚班/周末班 | 點擊了解 |
千鋒互聯(lián)大數據培訓班 | 白天班/晚班/周末班 | 點擊了解 |
千鋒互聯(lián)Linux云計算培訓班 | 白天班/晚班/周末班 | 點擊了解 |