常用功能自動化測試工具匯總

話說自動化測試方面的工具還是非常的多的,不可能也沒有必要查看了所有的測試工具;個(gè)人覺得當(dāng)學(xué)習(xí)眾多同類知識或相關(guān)主題時(shí),分幾步走:

1、學(xué)習(xí)所有同類知識的共同理論、原理部分【此為共性】

2、學(xué)習(xí)所有同類知識的獨(dú)有特性、技巧部分【此為個(gè)性】

3、根據(jù)具體的實(shí)際場景,適當(dāng)?shù)倪\(yùn)用所學(xué)知識的【即運(yùn)用知識的個(gè)性部分去解決特定的問題】

學(xué)習(xí)自動化測試工具也是這樣的,之前不愿意學(xué)習(xí)太多是怕混淆視聽,現(xiàn)在對原有知識已有了一定的固化認(rèn)識【即了解了基本原理】,也就可以從新學(xué)習(xí)個(gè)性化的東西了;而這一步正是為了以后能夠適當(dāng)運(yùn)用所掌握的知識,順利的進(jìn)行自動化測試任務(wù)的開展和實(shí)施。其目標(biāo)達(dá)矣!

商業(yè)工具:

1、RFT

Rational Functional Tester 的基礎(chǔ)是針對于Java、.NET的對象技術(shù)和基于 Web 應(yīng)用程序的錄制、回放功能。工具為測試者的活動提供的自動化的幫助,如數(shù)據(jù)驅(qū)動測試。

IBM RFT是一個(gè)用于功能和回歸測試的數(shù)據(jù)驅(qū)動的測試平臺。它支持大范圍的應(yīng)用,例如.Net、Java、SAP、Flex和Ajax。RFT使用Visual Basic。Net和Java作為腳本語言。RFT有一個(gè)獨(dú)特的功能,稱為 Storyboard 測試,用戶的動作被記錄下來,并通過應(yīng)用截圖在 Storyboard 格式中可視化。

RFT的另一個(gè)有趣特性是它與IBM Jazz應(yīng)用生命周期管理系統(tǒng)(如IBM Rational Team Concert和Rational Quality Manager)的集成。

2、kylinTOP:

這是一款國產(chǎn)的自動化測試工具,支持WEB和APP的自動化測試,其中元素智能定位是這款自動化軟件主要特點(diǎn),是設(shè)計(jì)理念比較超前的測試工具,算是國內(nèi)眾多自動化測試工具中,做的比較突出的一款。與傳統(tǒng)的RFT和UFT相比,的確有過人之處,算是后起之秀吧。官網(wǎng):http://www.70testing.com

3、UFT:

UFT(別名:QuickTest Professional簡稱QTP)是一種自動化測試工具,以VBScirpt為內(nèi)嵌語言,其前身是QTP。UFT支持功能測試和回歸測試自動化,可用于軟件應(yīng)用程序和環(huán)境的測試。UFT自動化測試的基本功能包括:創(chuàng)建測試、檢驗(yàn)數(shù)據(jù)、增強(qiáng)測試、運(yùn)行測試腳本、分析測試結(jié)果、維護(hù)測試;UFT支持兩種視圖,一種是Keyword View(關(guān)鍵字視圖),另一種是Expert View(專家視圖)。是一款老牌的自動化測試工具。

4、SilkTest:

這個(gè)也是比較相對著名的工具,不過同樣還是沒有了解過,對于商業(yè)的工具,因?yàn)槠湔嫉孛娣e大,還要破解等麻煩事,最關(guān)鍵的是使用的公司少,所以只使用過QTP,其它的一概未了解過

開源工具:

1、Selenium:

這個(gè)應(yīng)該大多數(shù)人都知道的,現(xiàn)在也是大多數(shù)互聯(lián)網(wǎng)公司在使用的測試框架;selenium僅支持web的UI級別測試,但是其優(yōu)點(diǎn)在于:

a、支持多種語言編寫測試腳本,比如:java、python、ruby、perl等;同時(shí)也就意味著其后的支持類庫也是很多的

b、支持多瀏覽器,如:ie,ff,safari、chrome等

c、支持多平臺,如:windows、linux、MAC、android、iphone等

d、支持分布式執(zhí)行,一套測試用例可以同時(shí)分布到不同的測試機(jī)上執(zhí)行,而且還可以進(jìn)行任務(wù)細(xì)化,比如:針對liunx執(zhí)行系統(tǒng)只分配linux下需要執(zhí)行的用例

此外還有錄制工具支持,簡單也說,web類測試基本上是首選,不過對flash的支持好像不是太好

其主要分2個(gè)版本,1.X版本是以js驅(qū)動來進(jìn)行自動化實(shí)現(xiàn)的;2.X重新開發(fā)了webdriver來代替js驅(qū)動,直接調(diào)用瀏覽器底層接口來完成自動化實(shí)現(xiàn)的

前提:如果使用remote或者RC功能,需安裝jre

下載地址:http://seleniumhq.org/download/

2、EFT【easy function testing】:

這個(gè)是在.net3.0 的UIAutomatuon的基礎(chǔ)上封裝的一個(gè)dll文件,同樣還封裝了部分windows api以實(shí)現(xiàn)鼠標(biāo)和鍵盤事件。所以這個(gè)只能叫測試類庫,且僅支持windows程序,而且同樣支持uiautomain所支持的WPF程序的測試。

前提:安裝了.net3.0

使用:引入該文件,uiautomation 相關(guān)dll,VS環(huán)境下編寫測試用例

3、UIAutomation:

這個(gè)是微軟提供的UI自動化框架,當(dāng)然它的初衷并不僅僅是為自動化測試而產(chǎn)生的,它的任務(wù)是給更多的開發(fā)或者應(yīng)用去調(diào)用windows的UI控件,不過還是可以用于自動化測試的;因?yàn)橹拔④浘陀蓄愃频墓ぞ?,而這個(gè)是重新設(shè)計(jì)的ui操作類框架,其目的是為了兼容支持windows系列操作系統(tǒng)的UI自動化操作【xp,vista,server2003】,還有就是天然支持WPF。當(dāng)然其設(shè)計(jì)與通常的自動化工具就不一樣了,比如:沒有把控件支持的方法綁定在控件對象本身,沒有提供專門的鼠標(biāo)/鍵盤事件,但是卻提供了特定控件對象的事件響應(yīng)監(jiān)聽及處理方法的定制。其工作流程大概是這樣的:

a、先獲取特定的元素對象,有多種方法。如:句柄,屬性值

b、獲取這個(gè)元素對象的模式。模式是這個(gè)框架的設(shè)計(jì)的獨(dú)具之處,成就了它的靈活性,統(tǒng)一性

c、通過這個(gè)模式在進(jìn)行具體的方法調(diào)用,屬性值獲取等

d、監(jiān)聽指定對象的特定事件,一旦發(fā)生則執(zhí)行指定的事件處理函數(shù)

4、Robot Framework

Robot Framework是一個(gè)完全基于關(guān)鍵字測試驅(qū)動的框架,它即能夠基于它的一定規(guī)則,導(dǎo)入你需要的測試庫(例如:其集成了selenium的測試庫,即可以理解為操作web控件的測試底層庫),然后基于這些測試庫,你能應(yīng)用HTML、TXT等文檔形式編寫自己的關(guān)鍵字(這些關(guān)鍵字即你的庫組成),之后,再編寫測試用例(測試用例由測試關(guān)鍵字組成)進(jìn)行測試。例如:一個(gè)簡單的登陸測試由:登陸+輸入密碼+登出三個(gè)關(guān)鍵字組成,也可以由一個(gè)關(guān)鍵字登陸組成,關(guān)鍵字顆粒的大小可以自行定制。

總結(jié)

最后才是干貨,掌握和了解這么工具為嘛使,不能總是為了好玩,而是為了能在以后的自動化實(shí)施過程中用于支持策略的制定;比如新接收了一個(gè)測試項(xiàng)目需要進(jìn)行自動化實(shí)施,那么需要考慮哪些點(diǎn)?使用哪個(gè)工具,有哪些工具可以作為備選?那么自然就要對常用自動化工具有一個(gè)初步的了解,同時(shí)對影響自動化過程的其它元素也要有一定的掌握,不過這里可以跳過,這里只是說與工具相關(guān)的因素的抉擇。大體可以分為如下來考慮:

1、考慮被測試產(chǎn)品的類型,B/S,,C/S,web service,SOAP,SDK或者API;過濾支持某類功能測試的工具

2、考慮是否支持錄制,可以錄制就相對于說開發(fā)效率有較大的提高

3、考慮工具的價(jià)格,通常首選開源或免費(fèi)產(chǎn)品

4、考慮工具擴(kuò)展性,可能某類工具可以支持現(xiàn)在的業(yè)務(wù)需求,但日后需求有變化的話,是否有很好的擴(kuò)展性,支持被測產(chǎn)品的新特性,如flex,flash,wpf等

5、考慮工具的支持性,即后期的升級及版本更新的特性,不要選用即將不再支持的工具

6、考慮工具的廣泛性,即這個(gè)工具在外部的流行程度,這樣以后招人容易,有問題也有較活躍的社區(qū)可以求助

7、考慮工具的成熟性,即這個(gè)工具不能還在beta版本,需要有一個(gè)較穩(wěn)定的版本,而且估計(jì)較長時(shí)間內(nèi)不會有大版本的更迭

8、考慮工具的可開發(fā)性,即工具是否提供插件接口,用于可以自定義自己的基礎(chǔ)類庫和識別機(jī)制

9、考慮工具的易用性,即是否有強(qiáng)大的后臺支持,如windows、.net、java類庫支持

10、考慮工具的適應(yīng)性,即是否容易被封裝,可以很容易被嵌入或引入到其它的框架中,比如:功能框架被引入到執(zhí)行框架中

11、考慮工具的針對性,即如果有專門的針對性工具可選,自然比那些綜合性很強(qiáng)的工具其適用性要高的多了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 淺談AST(自動化測試)流程,歡迎大家多多指點(diǎn),多提寶貴意見。 AST階段一:需求收集——分析自動化測試需求 舉行...
    hxhdip閱讀 1,092評論 0 1
  • 1自動化測試定義 首先來說一下什么是軟件測試? 軟件測試簡單來說就是在規(guī)定的條件下對程序進(jìn)行操作以發(fā)現(xiàn)程序錯誤,衡...
    放眼閱讀 11,755評論 0 0
  • 幾款具有代表性的自動化測試工具匯總簡介 一、傳統(tǒng)自動化測試工具/商業(yè)工具(傳統(tǒng)工具較多僅介紹兩款,基本都是國外的)...
    隨心_f292閱讀 536評論 1 1
  • 上帝就是愛
    六六六z閱讀 125評論 0 0
  • 一個(gè)分布式的RESTFUL風(fēng)格的搜索和數(shù)據(jù)分析引擎 Elasticsearch is a highly scala...
    smileJiuer閱讀 568評論 0 0

友情鏈接更多精彩內(nèi)容