12 Best Mobile App Testing Frameworks

Native mobile apps usually work faster, smoother and these result in a better user experience. And, web designers/developers always look for new ways to catch this performance with web technologies. Mobile Application Developers, while able to produce amazing applications, are limited by the native browsers own limited functionality. Basic features available on desktop browsers are completely absent from mobile browsers. The ability to view source code, debug JavaScript, or even execute a JavaScript command from a console is all tools developers have come to expect while developing websites.

For this roundup we have compiled a list of 12 Best Mobile App Testing Frameworks for mobile programmers that will help them to test, debug and execute their web applications on various browsers and devices. If you are aware of some other useful mobile app testing frameworks, please let us know by posting a comment below.

1. Appium

appium

Appium is an open source framework which helps automating mobile app testing from any language and any test framework, with full access to back-end APIs and DBs from test code. It works for both iOS + Android apps and tests can be written with Java, Objective-C, JavaScript, PHP, Python, Ruby, C#, Clojure, or Perl. The framework is Mac OS X only and requires Nodejs to run.

2. Mobile Testing Framework

Mobile Testing Framework   Gitorious

The Mobile Testing Framework (MTF) is an alpha-state open source project to automate GUI/System tests for iPhone/iPad applications. MTF is based on the automation tool Sikuli which allows interacting with the User interface with python scripts and screenshots.

3. Calabash

calabash

Calabash enables you to write and execute automated acceptance tests of mobile apps. Calabash is cross-platform, supporting Android and iOS native apps. It is open source and free, and has a company, Xamarin, backing and developing it. Calabash consists of libraries that enable test-code to programmatically interact with native and hybrid apps. The interaction consists of a number of end-user actions.

4. KIF

kif

KIF, which stands for Keep It Functional, is an iOS integration test framework. It allows for easy automation of iOS apps by leveraging the accessibility attributes that the OS makes available for those with visual disabilities. KIF builds and performs the tests using a standard XCTest testing target. Testing is conducted synchronously in the main thread (running the run loop to force the passage of time) allowing for more complex logic and composition.

5. Titanium Jasmine

titanium-jasmine

Titanium-jasmine provides testing for Appcelerator’s Titanium Mobile applications using Pivotal’s Jasmine as the core testing framework. titanium-jasmine puts together Jasmine and Titanium Mobile, so you can write Jasmine tests that will run inside your iPhone, iPad and Android applications. titanium-jasmine is a really simple testing framework that will help you test your Titanium Mobile applications properly.

6. Testing with Frankk

testing with frank

Frank allows you to write structured text test/acceptance tests/requirements (using Cucumber) and have them execute against your iOS application, Frank also includes a powerful “app inspector” (called Symbiote) that you can use to get detailed information on your running app.

7. Switchboard

switchboard

Switchboard – easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. Switchboard segments your users consistently. Because user segmentation is based only on UUID that is computed once, the experience you switch on and off using Switchboard is consistent across sessions.

8. Flip Test

fliptest

FlipTest allows you to run A/B tests on iOS apps without having to re-submit the app to the App Store or make significant modifications to your code. It only requires adding a single line of code to your iOS app. With FlipTest, even non-developers can easily create and monitor A/B tests. No coding necessary.

9. ReactiveUI

ReactiveUI  Home

A MVVM framework that integrates with the Reactive Extensions for .NET to create elegant, testable User Interfaces that run on any mobile or desktop platform. Supports Xamarin.iOS, Xamarin.Android, Xamarin.Mac, WPF, Windows Forms, Windows Phone 8 and Windows Store apps.

10. Catjs

catjs

CatJS is an automation framework for (mobile) web applications testing. It offers a new technology that makes testing easy, we don’t do WebDriver like the other technologies, in our case the applications test themselves. With simple annotations added to your HTML5 code, an automated functional tests will be available as part of your application lifecycle.

11. YSO Mobile Security Framework

yso

YSO Mobile Security Framework is an intelligent, all-in-one open source mobile application (Android/iOS) automated pen-testing framework capable of performing static and dynamic analysis. We’ve been depending on multiple tools to carry out reversing, decoding, debugging, code review, and pen-test and this process requires a lot of effort and time. YSO Mobile Security Framework can be used for effective and fast security analysis of Android APK/Android app source code/iOS app source code.

12. Imagrium

imagirum

Imagrium is a Jython framework for cross-platform testing of mobile applications basing on the image recognition method (and distributed under the MIT License terms).

  • Darrell Henry

    Great piece of work, I really found out these tools truly a heaven for
    programmers like me. I would also like to add some additions to it which I
    surfed out few days. So just check out for it http://codecondo.com/10-best-frameworks-for-mobile-app-testing/

  • Mohit Dedhia

    Nice Information!! You can also get cost effective mobile application testing services at iTech Labs

  • elasticode

    Good article Hemn, we’d be happy to be included in your next roundup. Elasticode.com also offers A/B testing and personalization tools for mobile app developers, ranging from onboarding to ongoing in-app experiences. You’re welcome to check us out!