page.title=Compatibility Test Suite @jd:body

How does the CTS work?

The CTS is an automated testing harness that includes two major software components:

Workflow

This section summarizes CTS setup. Please refer to the CTS User Manual for detailed instructions.

  1. Download the CTS and CTS media files.

  2. Attach at least one device (or emulator) to your machine.

  3. For CTS versions 2.1 R2 through 4.2 R4, set up your device (or emulator) to run the accessibility tests:

    1. adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
    2. On the device, enable Settings > Accessibility > Accessibility > Delegating Accessibility Service

  4. For CTS 2.3 R4 and beyond, set up your device to run the device administration tests:

    1. adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk
    2. On the device, enable the two android.deviceadmin.cts.CtsDeviceAdminReceiver* device administrators under Settings > Location & security > Select device administrators

      Note: Make sure the android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver stays disabled in the same menu.

  5. For CTS 2.3 R12 and beyond, the CTS media files must be copied to the device's external storage. Check section 4.2 of the latest CTS manual for further details on copying these files:

    1. Unzip the CTS Media zip file.

    2. Run the following command. If no resolution is specified, the default maximum resolution of 480x360 is assumed:

      copy_media.sh [720x480|1280x720|1920x1080|all] [-s serial]
  6. Launch the CTS. The CTS test harness loads the test plan onto the attached devices. For each test in the test harness:

  7. Once all the tests are executed, view the test results in your browser and use them to adjust your design. You can continue to run the CTS throughout your development process.

Types of test cases

The CTS includes the following types of test cases:

Future versions of the CTS will include the following types of test cases:

Areas Covered

The unit test cases cover the following areas to ensure compatibility:

Area Description
Signature tests For each Android release, there are XML files describing the signatures of all public APIs contained in the release. The CTS contains a utility to check those API signatures against the APIs available on the device. The results from signature checking are recorded in the test result XML file.
Platform API Tests Test the platform (core libraries and Android Application Framework) APIs as documented in the SDK Class Index to ensure API correctness, including correct class, attribute and method signatures, correct method behavior, and negative tests to ensure expected behavior for incorrect parameter handling.
Dalvik VM Tests The tests focus on testing the Dalvik VM.
Platform Data Model The CTS tests the core platform data model as exposed to application developers through content providers, as documented in the SDK android.provider package: contacts, browser, settings, etc.
Platform Intents The CTS tests the core platform intents, as documented in the SDK Available Intents.
Platform Permissions The CTS tests the core platform permissions, as documented in the SDK Available Permissions.
Platform Resources The CTS tests for correct handling of the core platform resource types, as documented in the SDK Available Resource Types. This includes tests for: simple values, drawables, nine-patch, animations, layouts, styles and themes, and loading alternate resources.