10個最好的移動應用程序測試框架
如今,智能手機已經迎來了一個新的時代——移動應用程序開發。如今,移動應用程序能夠幫助大家簡化很多日常事務。使用移動應用程序,您能在線支付賬單、在線觀看視頻以及玩游戲等等,那么是什么讓這些應用程序在智能手機上的運行變得非常完美呢?那就是測試!
那么,什么是測試?測試是移動應用程序開發過程中至關重要的部分。它涉及到審查應用程序的幾個方面,例如功能、用戶體驗等等。如今,移動應用程序開發基于 一些平臺,常見的有Android、iOS、Windows Mobile和黑莓等,基本上移動應用程序有三種類型,混合型、本地和基于網絡。此外,有四種途徑可以來測試一個移動應用程序:
- 在桌面web瀏覽器工具包中
- 在iOS或Android模擬器中
- 在手機瀏覽器中
- 在手機的本地應用程序中 </ul>
- AndroidJunitRunner
- Espresso
- UIAutomator </ul>
所以無論您是移動應用程序領域的新手還是經驗豐富的開發者,這篇文章都能幫助您真正的了解測試移動應用程序。如今,很多開發人員很難找到合適的移動應用測試平臺,今天,小編就為大家收集了十個最佳移動應用程序測試框架,我相信它們會幫助到大家!
1) JUnit
JUnit是一個開源的Java單元測試框架。在1997年,由 Erich Gamma和Kent Beck開發完成。這兩個牛人中Erich Gamma 是GOF 之一;Kent Beck則在XP 中有重要的貢獻。JUnit有它自己的JUnit擴展生態圈。多數Java的開發環境都已經集成了JUnit作為單元測試的工具。
JUnit是由Erich Gamma和Kent Beck編寫的一個回歸測試框架(regression testing framework)。Junit測試是程序員測試,即所謂白盒測試,因為程序員知道被測試的軟件如何完成功能和完成什么樣的功能。Junit是一套框 架,繼承TestCase類,就可以用Junit進行自動測試了。
2) Robotium
Robotium 是Android平臺上類似Selenium的集成測試工具,有JUnit基礎的開發者非常容易上手。不僅如此,Robotium還是一款國外的 Android自動化測試框架,主要針對Android平臺的應用進行黑盒自動化測試,它提供了模擬各種手勢操作(點擊、長 按、滑動等)、查找和斷言機制的API,能夠對各種控件進行操作。Robotium結合Android官方提供的測試框架來達到對應用程序進行自動化測試 的目的。另外,Robotium 4.0版本已經支持對WebView的操作。Robotium對Activity,Dialog,Toast,Menu 都是支持的。
3) Android Testing Support Library
Android Testing Support Library是一個非常強大的框架,用于測試Android應用程序。Android Testing Support Library提供了一套完整的應用程序編程接口(API),允許用戶編寫和運行測試代碼的Android應用程序,包括JUnit4和用戶界面(UI) 功能的測試。不僅如此,它還包含了自動化測試工具,如:
4) Gitorius
Gitorious是一個基于Git版本控制系統的Web項目托管平臺,使用Ruby on Rails開發。而其移動測試框架(MTF)也是深受開發者歡迎,Gitorious移動測試框架是一款充分利用Sikuli自動化工具的iOS測試框 架。Gitorious MTF能夠利用截屏和Python腳本,進行細致入微的測試,并將測試結果返還給開發者以提高應用質量及修復漏洞。
在局域網里搭建Gitorious需要安裝的軟件有apache, mysql, sendmail, ruby, rubygems, imagemagick, sphinx, apg和aspell等應用程序,另外還需要libmagick9-dev, libmysqlclient15-dev, libmysqlclient15off, libonig2, libonig-dev, libaspell-dev等程序庫。
5) Appcelarator
Appcelerator Titanium公司已經在移動開發領域擁有多年馳騁經驗,其配合基于JavaScript的開發環境能夠將原生代碼編譯為運行在iOS、Android 以及其它目標平臺上的代碼成果。隨著2014年7月Appcelerator Studio 3.3與Appcelerator Platform 2.0的發布,該公司向其中添加了一套MBaaS以及約25個相關API、Node.js支持能力以及在線分析功能。除此之外,Appcelerator 還為自己的MBaaS發布了多種接口,開發人員可以利用原生SDK將其添加到應用程序當中。
6) Appium
Appium是一個開源、跨平臺的自動化測試工具,用于測試原生和輕量移動應用,支持 iOS、Android和FirefoxOS平臺。Appium 驅動蘋果的UIAutomation庫和Android的UiAutomator框架,使用Selenium的WebDriver JSON協議。Appinm的iOS 支持是基于Dan Cuellar's的iOS Auto. Appium,同時綁定了Selendroid用于老的Android平臺測試。
7) Testing with Frank
Frank是一款深受開發者喜愛的iOS應用測試框架,該框架可以模擬用戶操作對應用程序進行黑盒測試,并使用Cucumber作為自然語言來編寫測試用例。此外,Frank還會對應用測試操作進行記錄,以幫助開發者進行測試回顧。
8) Calabash
Calabash是一款適用于iOS和Android平臺的跨平臺應用測試框架,支持Cucumber,開源且免費,隸屬于Xamarin公司。通過Calabash,開發者可以對應用進行多方位測試,比如截屏、手勢識別、實際功能代碼等。
9) MONKEYTALK
MonkeyTalk是世界上最強大的移動應用測試工具。MonkeyTalk自動為iOS 和Android 應用進行真實的、功能性交互測試。MonkeyTalk提供簡單的"smoke tests",復雜數據驅動的測試套件。MonkeyTalk支持原生、移動和混合應用、真實設備或者模擬器。MonkeyTalk使得場景捕獲非常容 易,可以記錄高級別可讀的測試腳本。同樣的命令可以用在iOS和Android應用上。您可以記錄一個平臺的一個測試,并且可以在另外一個平臺回放。 MonkeyTalk支持移動觸摸和基于手勢交互為主的移動體驗。點擊、拖拽、移動,甚至是手指繪制也可以被記錄和回放。
10) Telerik Mobile Testing
Telerik Mobile Testing是 一個強大的編碼框架,它使開發人員能夠對任何Android,iOS和Windows Phone8的應用程序同時進行編碼測試。豐富的API能夠幫助您手工測試腳本并模擬真實設備上的用戶行為,輕松構建對常見的Android、iOS和 Windows Phone 8的驗證。Telerik Mobile Testing能夠測試跨瀏覽器的多個平臺下的應用程序,不需要在設備上執行,也不需要越獄。不僅如此,Mobile Testing的測試結果還將云同步,能夠自動將其結果發布到Telerik的門戶網站上。
</div>來自:http://my.oschina.net/Customs/blog/513404