Frameworks for Mobile Testing in iOS & Android – An overview

Mobile testing requires frameworks on which to successfully do your job and get accurate results. There are frameworks that you can specifically and seamlessly use for your testing projects because they have been tested and proven to work perfectly well. In this post, we shall quickly take a look at some of those frameworks.

What is a testing framework?


A testing framework otherwise known as testing automation framework is an execution environment where automated tests are carried out. It is the general system which helps n automating the tests.

A testing framework is the set of assumptions, concepts and practices that form a work platform or automated testing support.

Majorly, the works of the testing framework include:

  • To define the format in which expectations are expressed
  • Create a mechanism to hook into or drive the application being tested.
  • Execute the tests as well as report the results.

Framework Architecture

To carry out mobile testing automation, a good mobile automation testing framework is required. Test cases can be built on top of the framework. Separation of mobile automation testing frameworks is done based on the mobile device’s operating system. We are going to be taking a look at two main types of mobile testing frameworks – iOS testing frameworks and Android testing frameworks.

Popular iOS Testing Frameworks

Different iOS testing frameworks are readily accessible in the market. But, we will discuss briefly some of them that are quite popular.

  • FRANK-BDD for iOS: It is a great tool for doing end-to-end testing in iOS. FRANK enables you to use Cucumber to create acceptance tests and requirements.
  • Zucchini: This is an open-source visual functional testing framework for iOS application that is performed on the concept of the APPLE UI Automation.
  • Appium: Another open-source test automation framework is the Appium. It is the framework for testing native and hybrid apps as well as mobile web apps. Inside the framework is the Appium library functions which make calls to the Appium server that is running in the background and operates the device that is connected.
  • UI Automation: The UI Automation is used for black-box tests (more typical functional tests), where you need to write code simulating a case where an end-user navigates your app. Apple provides UI Automation and it is also the framework it permits testers to use for their iOS functional testing.
  • Calabash: This is a functional testing framework applicable to Android and iOS functional testing. It is quite easy to use and non-developers can use it to create functional tests.

Popular Android Testing Frameworks

Apart from the availability of iOS testing frameworks, there are Android testing frameworks that you can use for your Android devices. We will also examine the 5 popular ones below.

  • Appium: This is an open-source framework for testing native, and hybrid apps as well as mobile web apps. We have already talked about it earlier.
  • Robotium: Robotium is also an open-source testing framework which you can use to develop functional, system and acceptance scenarios.
  • Selendroid: Though relatively new, Selendroid can very well perform Android functionality tests. It is similar to Robotium. It is easy to use this framework especially if you are knowledgeable in the use of Selenium.
  • Calabash: We have already discussed this under the iOS testing above.
  • UIAutomator: This is Google’s own testing framework. It enables you to perform an Advanced UI testing of games and native Android apps. Its Java library contains API that can be used in creating functional UI test, as well as an execution engine for running the tests.


If you are looking for trusted open-source testing frameworks for your mobile testing, any of the tools we mentioned above can do a nice job for you. Make use of them and expect to get perfect results.