Android Testing

Revision as of 10:41, 27 April 2011 by Tim Bird (Talk | contribs) (Application testing resources: add info about monkey)

Jump to: navigation, search

This page has information about various tests you can perform on Android

Google provides a number of resources for testing applications, including monkey, the logger, and the compliance test suite (CTS)

For an overview of Android application testing and resources provided by Google, see:

Android Test Framework

Google provides an integrated test framework for testing Android applications, based on the JUnit test framework from java.

See Android Testing Fundamentals

Application testing resources

  • [ monkeyrunner
    • The monkeyrunner tool provides an API for writing programs that control an Android device or emulator from outside of Android code. It allows you to write a program, which runs on your host machine that can interact with an application running in the emulator or on a target device.
    • With monkeyrunner, you can write a Python program that installs an Android application or test package, runs it, sends keystrokes to it, takes screenshots of its user interface, and stores screenshots on the host.
  • Monkey is a user interface and application tester for Android applications.
    • It is a command-line tool that sends pseudo-random streams of keystrokes, touches, and gestures to a device.
    • This tool in unrelated to the monkeyrunner tool mentioned above. (It runs on the target, and monkeyrunner-based programs run on the development host machine.)
  • Robotium test framework
    • Robotium is a test framework created to make it easy to write powerful and robust automatic black-box test cases for Android applications. With the support of Robotium, test case developers can write function, system and acceptance test scenarios, spanning multiple Android activities.
    • Robotium has full support for Activities, Dialogs, Toasts, Menus and Context Menus.
  • Roboelectric test framework
    • Roboelectric allow you to test-drive the development of your Android app inside the JVM on your workstation in seconds, instead of in the emulator on on a device (which can be slow)
    • Robolectric allows you to test most Android functionality including layouts and GUI behavior, services, and networking code. It has more flexibility than Google's testing framework in some areas.


There are a number of benchmarks you can use to test operating system, hardware and graphics performance.

For information about performance testing and benchmarks, see: Android Benchmarks

Compliance Test Suite

Google provides a suite of tests to validate that a device complies with the Android standard.

See Android Compliance Test Suite for more informaton.