如今,智能手机已经迎来了一个新的时代——移动应用程序开发。如今,移动应用程序能够帮助大家简化很多日常事务。使用移动应用程序,您能在线支付账单、在线观看视频以及玩游戏等等,那么是什么让这些应用程序在智能手机上的运行变得非常完美呢?那就是测试!
那么,什么是测试?测试是移动应用程序开发过程中至关重要的部分。它涉及到审查应用程序的几个方面,例如功能、用户体验等等。如今,移动应用程序开发基于一些平台,常见的有Android、iOS、Windows Mobile和黑莓等,基本上移动应用程序有三种类型,混合型、本地和基于网络。此外,有四种途径可以来测试一个移动应用程序:
- 在桌面web浏览器工具包中
- 在iOS或Android模拟器中
- 在手机浏览器中
- 在手机的本地应用程序中
所以无论您是移动应用程序领域的新手还是经验丰富的开发者,这篇文章都能帮助您真正的了解测试移动应用程序。如今,很多开发人员很难找到合适的移动应用测试平台,今天,小编就为大家收集了十个最佳移动应用程序测试框架,我相信它们会帮助到大家!
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进行自动测试了。
![十佳移动应用程序测试框架](http://static.oschina.net/uploads/img/201510/04090929_vmxy.jpg)
2) Robotium
Robotium 是Android平台上类似Selenium的集成测试工具,有JUnit基础的开发者非常容易上手。不仅如此,Robotium还是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长 按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合Android官方提供的测试框架来达到对应用程序进行自动化测试的目的。另外,Robotium 4.0版本已经支持对WebView的操作。Robotium对Activity,Dialog,Toast,Menu 都是支持的。
![十佳移动应用程序测试框架](http://static.oschina.net/uploads/img/201510/04090929_zxUF.jpg)
3) Android Testing Support Library
Android Testing Support Library是一个非常强大的框架,用于测试Android应用程序。Android Testing Support Library提供了一套完整的应用程序编程接口(API),允许用户编写和运行测试代码的Android应用程序,包括JUnit4和用户界面(UI)功能的测试。不仅如此,它还包含了自动化测试工具,如:
- AndroidJunitRunner
- Espresso
- UIAutomator
![十佳移动应用程序测试框架](http://static.oschina.net/uploads/img/201510/04090929_sXrT.jpg)
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等程序库。
![十佳移动应用程序测试框架](http://static.oschina.net/uploads/img/201510/04090929_7sTQ.jpg)
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将其添加到应用程序当中。
![十佳移动应用程序测试框架](http://static.oschina.net/uploads/img/201510/04090929_9aXJ.jpg)
6) Appium
Appium是一个开源、跨平台的自动化测试工具,用于测试原生和轻量移动应用,支持 iOS、Android和FirefoxOS平台。Appium 驱动苹果的UIAutomation库和Android的UiAutomator框架,使用Selenium的WebDriver JSON协议。Appinm的iOS 支持是基于Dan Cuellar's的iOS Auto. Appium,同时绑定了Selendroid用于老的Android平台测试。
![十佳移动应用程序测试框架](http://static.oschina.net/uploads/img/201510/04090929_qG5c.jpg)
7) Testing with Frank
Frank是一款深受开发者喜爱的iOS应用测试框架,该框架可以模拟用户操作对应用程序进行黑盒测试,并使用Cucumber作为自然语言来编写测试用例。此外,Frank还会对应用测试操作进行记录,以帮助开发者进行测试回顾。
![十佳移动应用程序测试框架](http://static.oschina.net/uploads/img/201510/04090929_Hqc0.jpg)
8) Calabash
Calabash是一款适用于iOS和Android平台的跨平台应用测试框架,支持Cucumber,开源且免费,隶属于Xamarin公司。通过Calabash,开发者可以对应用进行多方位测试,比如截屏、手势识别、实际功能代码等。
![十佳移动应用程序测试框架](http://static.oschina.net/uploads/img/201510/04090929_mtZ1.jpg)
9) MONKEYTALK
MonkeyTalk是世界上最强大的移动应用测试工具。MonkeyTalk自动为iOS 和Android 应用进行真实的、功能性交互测试。MonkeyTalk提供简单的"smoke tests",复杂数据驱动的测试套件。MonkeyTalk支持原生、移动和混合应用、真实设备或者模拟器。MonkeyTalk使得场景捕获非常容易,可以记录高级别可读的测试脚本。同样的命令可以用在iOS和Android应用上。您可以记录一个平台的一个测试,并且可以在另外一个平台回放。MonkeyTalk支持移动触摸和基于手势交互为主的移动体验。点击、拖拽、移动,甚至是手指绘制也可以被记录和回放。
![十佳移动应用程序测试框架](http://static.oschina.net/uploads/img/201510/04090929_jQzS.jpg)
10) Telerik Mobile Testing
Telerik Mobile Testing是一个强大的编码框架,它使开发人员能够对任何Android,iOS和Windows Phone8的应用程序同时进行编码测试。丰富的API能够帮助您手工测试脚本并模拟真实设备上的用户行为,轻松构建对常见的Android、iOS和Windows Phone 8的验证。Telerik Mobile Testing能够测试跨浏览器的多个平台下的应用程序,不需要在设备上执行,也不需要越狱。不仅如此,Mobile Testing的测试结果还将云同步,能够自动将其结果发布到Telerik的门户网站上。
![十佳移动应用程序测试框架](http://static.oschina.net/uploads/img/201510/04090929_eZn9.jpg)