Vendor Test Suite (VTS) & Infrastructure

The Android Vendor Test Suite (VTS) provides extensive new functionality for Android testing and promotes a test-driven development process. To help the Android development community interact with test data, Android includes the following testing resources:

  • Video Tutorials. Describes the videos on running and developing VTS and CTS-on-GSI on Android 9 and Android 8.1.
  • Systems Testing with VTS. Describes how to use VTS to test an Android native system implementation, set up a testing environment, then test a patch using a VTS plan.
  • Test Framework. Provides details on using the VTS test framework. Includes:
    • Device shell commands. Instructions on how to use device shell commands to execute target-side test binaries, to get/set properties, environment variables, and system information, and to start/stop the Android framework.
    • Test templates. Details on configuring and using test templates for test modules that are not host-side Python subclass of VTS runner's BaseTest.
    • Service name aware HAL testing. Details on Android 9​ support for obtaining the service name of a given HAL instance based on the device on VTS is running.
    • HAL testability check. Details on Android 9​ support for a runtime method that uses the device configuration to identify which VTS tests should be skipped for that device target.
    • Multi-device testing. Instructions for configuring tests that require interaction between multiple Android devices.
    • VTS testing with debug ramdisk. Instructions on how to use a debug ramdisk to enable running VTS with a generic system image (GSI).
  • VTS Dashboard. Web-based user interface for viewing VTS results. Includes details on:
    • Setup. Instructions for setting up and configuring the VTS Dashboard.
    • Database. A scalable back-end to support the continuous integration dashboard.
    • User Interface. A cohesive user interface that uses material design to effectively display information about test results, profiling, and coverage.
  • Lab infrastructure. Describes the architecture of an automated testing infrastructure for running VTS, CTS, or other tests on partner devices running the AOSP Generic System Image (GSI). Requires a Host Controller.
  • binder and hwbinder performance tests. Tools for measuring throughput and latency.

For additional details, refer to the Android VTS Products video produced by Google Developers, and the Treble: Fast Software Updates by Creating an Equilibrium in an Active Software Ecosystem of Globally Distributed Stakeholders paper, which is free for ACM members and non-members can purchase or read the abstract.