Open source tool for Mobile application testing(To be continued)

Android:

Robotium

The most well known one. It’s the Selenium‘s counterpart for Android. The ORBIT tool in my paper was built on this tool.

Calculon

a testing DSL for Google Android, you can specify various kinds of UI attribute’s assertion or event assertion.

Robolectric

a unit test framework that de-fangs the Android SDK jar so you can test-drive the development of your Android app.

Mockito

one of the established Java mocking frameworks now supports Android. See the post here.

Spoon

Automating the test execution across multiple devices as well as aggregation of the results

FEST Android

A declarative, fluent API for verifying the state of Android objects..

Compatibility Test Suite

The CTS is a set of unit tests designed to be integrated into the daily workflow (such as via a continuous build system) of the engineers building a device. Its intent is to reveal incompatibilities early on, and ensure that the software remains compatible throughout the development process. It’s provided by Google.

Calabash Android

Calabash-Android lets you run Cucumber features on your Android device or emulator.

A introducing blog: http://blog.lesspainful.com/2012/03/07/Calabash-Android/

SetAlwaysFinish

Tool for testing Android lifecycle events.

A related blog: http://bricolsoftconsulting.com/2011/12/23/how-to-test-onsaveinstancestate-and-onrestoreinstancestate-on-a-real-device/

A related question: http://stackoverflow.com/questions/4816749/android-activity-lifecycle-testing

Dynodroid

A random testing tool. It’s still a research tool so it might not be easy to use. The good thing of such tool is that it can generate system event.

Swifthand

Testing the Android application  with less restart.  Using a learning-based algorithm.

 IPhone:

Frank

Frank allows you to write structured text test/acceptance tests/requirements (using cucumber) and have them execute against your iOS application.

Source: https://github.com/moredip/Frank

UISpec

UISpec is a Behavior Driven Development framework for the iPhone that provides a full automated testing solution that drives the actual iPhone UI. It is modeled after the very popular RSpec for Ruby.

 

OS Independent:

Nativedriver(Across platform)

an implementation of the WebDriver API which drives of the UI of a native application rather than a web application.

A thread discussing difference of nativedriver and robotium: https://groups.google.com/forum/#!msg/nativedriver-users/Zccvm54FfaU/NrVY-PUduEEJ

A blog comparing the two: http://kongqingyun123.blog.163.com/blog/static/637728352011614111010446/

Rellated:

Cucumber

Cucumber lets software development teams describe how software should behave in plain text.

http://cukes.info/

https://github.com/cucumber/cucumber

JBehave

http://jbehave.org/

AndroidWebDriver4Python(汪啸实现)https://github.com/truebit/AndroidWebDriver4Python

bitbar的产品:http://bitbar.com/products(Based on Robotium)

MonkeyRunner还是很有前景的,Google自己弄的。现在最新的dev版本已经有支持UI的id操作的EasyMonkey了。可以git clone git://http://android.kernel.org/platform/sdk.git看看

powermock +  infinitest.

Reference:

1. Best practices for unit testing Android apps-StackOverflow

2. Android 手机自动化测试工具有哪几种 – 知乎

3. http://corner.squareup.com/2013/04/the-resurrection-of-testing-for-android.html