自動化測試框架比較

玄學醬發表於2017-07-10

最近在研究自動化測試框架,也和網上的很多朋友聊了很多各種自動化框架的實現,我對其總結歸納比較下。當然,一家之言,僅供參考:

  1、以QTP為核心的框架

  QTP是大家最常用的測試工具。而現在很多公司用的自動化測試框架都是以此為核心的。我在觸自動化測試之初最先上手的也是QTP。

  以QTP為核心的自動化測試框架優點在於:適用性好,很多人都已經會用或者至少說可以簡單應用,指令碼也簡單易懂,大多數無任何程式碼基礎的測試人員都可以加入指令碼錄製和除錯。

  我本人一直對QTP不太感冒的原因也就是它的缺點:物件庫。這個詞對自動化測試的tester們實在是個巨大的打擊。我不去一一細數其罪行,但是,關鍵字的框架,靈活度實在不敢恭維。再加上QTP在對flex等的支援上實在是也讓人慾哭無淚。如果說還有其他的,就是一旦應用於企業自動化測試框架,必然需要購買正版,價格的問題。。。

  2、RFT

  Rational Functional Tester,IBM的產品。我一直對ibm產品頗具好感,不知道是不是由於第一臺筆記本就買了IBM的緣故。跑題了,回來說這個框架。

  優點:其一是相比起QTP框架,靈活度要高。因為它最核心的find()。每個指令碼里都會大量出現類似“new uiTestObject(find(atDescendant(“.xxxx”,”xxxx”,”.xxxx”,”xxxx”)))…”的語句,用來動態查詢物件以解決物件識別問題。其二是對java的無縫連線,讓很多人能更好更快的上手。

  缺點:首先還是俗一點,說這個價格。高於QTP的價格讓很多公司難以接受。第二,儘管ibm的團隊非常強大,但是我們可以看到,由於種種原因,RFT的使用率比較低,這就導致網上關於該框架的疑難問題解決方案較少。第三,根據親身經歷,RFT的國內技術支援太弱,有問題很難請到,並且其技術支援人員測試技術能力都較差。

  3、Ant+Selenium+Testng+Jenkins

  這是我現在正在研究並使用的框架。(ps:jenkins這…還沒用到。原來聽說了hudson的強大,這個升級版估計會更有使用價值,未來研究)我這裡說的selenium沒有區分RC還是webdriver,兩者各有千秋又互相補充,兼而用之即可。還是先說優點:第一:它開源不要錢!很多時候這是最關鍵的一點..當你在研究或推行一套框架的時候,價格是不得不考慮的因素。第二:靈活性,比RFT更加靈活,因為更加入了xpath(當然大型專案的指令碼里xpath..慎用,儘量取id或穩定的屬性)。加上配合IDE進行定位等,效果比較好。第三:相比rft,資料更全面,用該框架的也越來越多。據我瞭解,北京一些中型公司也在應用類似以selenium為核心的自動化測試框架。第四:就是開源性可以方便我們進行二次開發,例如提取對json和xml的處理來實現的資料驅動等。

  缺點:第一:無論是RC還是Webdriver,對測試人員的編碼水平有一定要求。同時ant,testng,hudson使用也都是小眾,大多數人執行這個框架前需要有較長時間學習適應。第二:畢竟時間較短,不如QTP如此完善,但是我們可以期待其未來發展。也許3.0會帶來一個巨大的變化。

  4、Mcafe

  我也不知道是不是這樣拼這個框架,這是百度內部使用的一套自動化測試框架,或者叫平臺。外面當然也買不到,我有幸見識了一次,包含了虛擬機器的整合分配直至自動化測試執行,非常之驚豔。優點一大把缺點就是買都買不到。。。也給了我們一個方向,自主開發的自動化測試框架也許才是最適合你的。

  歡迎大家發表意見。








====================================分割線================================



最新內容請見作者的GitHub頁:http://qaseven.github.io/


相關文章