Member-only story
Android CTS

Google’s Android operating system is an open-sourced platform that allows manufacturers to make modifications and create their own unique user experience for their devices. Manufacturers benefit from having a solid starting point, which reduces development time and costs, while users are given a much wider variety of devices to choose from, all with slightly different takes on the Android OS. But this increased flexibility comes with inherent risks, after all, the more modifications you make to a piece of software the more opportunities you have to break something.
CTS
CTS stands for Compatibility Test Suite. CTS is a commercial-grade test suite, created by Google, to identify areas of incompatibility at the earliest possible stage of development and to ensure that all supported features of the Android OS run to Google’s high standards. It is essential for devices running an Android operating system to have completed CTS testing, whether that device is a phone, tablet, smartwatch, TV device, in-car system or indeed any other incarnation of Android that may be available.
The Compatibility Test Suite (CTS) is a free, commercial-grade test suite, available for download. The CTS represents the “mechanism” of compatibility.
The CTS runs on a desktop machine and executes test cases directly on the attached devices or an emulator. The CTS is a set of unit tests designed to be integrated into the daily workflow (such as via a continuous build system) of the engineers building a device. Its intent is to reveal incompatibilities early on and ensure that the software remains compatible throughout the development process.
The CTS is an automated testing suite that uses two major software components:
- The CTS Trade Federation test harness runs on your desktop machine and manages test execution. It offers the ability to shard tests across multiple Devices Under Test (DUTs). You may also use the suite retry feature to retry the failures only rather than the full suites, greatly reducing re-run time.
- Individual test cases are executed on the DUT. The test cases are written in Java as JUnit tests and packaged Android .apk files to run on the actual device target.