Compatibility Test Suite (CTS) — это бесплатный набор тестов коммерческого уровня, доступный для загрузки в виде двоичного файла или исходного кода в Android Open Source Project (AOSP) . CTS представляет собой «механизм» совместимости.
CTS запускается на настольном компьютере и выполняет тестовые сценарии непосредственно на подключенных устройствах или в эмуляторе. CTS — это набор модульных тестов, предназначенных для интеграции в ежедневный рабочий процесс (например, с помощью системы непрерывной сборки) инженеров, создающих устройство. Его цель — выявить несовместимости на раннем этапе и гарантировать, что программное обеспечение остается совместимым на протяжении всего процесса разработки.
CTS — это пакет автоматизированного тестирования, в котором используются два основных программных компонента:
- Тестовый пакет CTS Trade Federation запускается на вашем настольном компьютере и управляет выполнением тестов. Он предлагает возможность сегментировать тесты на нескольких тестируемых устройствах (DUT). Вы также можете использовать функцию повтора пакета, чтобы повторять только сбои, а не полные пакеты, что значительно сокращает время повторного запуска.
- На тестируемом устройстве выполняются отдельные тестовые сценарии. Тестовые примеры написаны на Java в виде тестов JUnit и упакованы в файлы Android .apk для запуска на реальном целевом устройстве.
Средство проверки комплекта тестов совместимости (CTS Verifier) — это дополнение к CTS, доступное для загрузки . CTS Verifier предоставляет тесты API и функций, которые невозможно протестировать на стационарном устройстве без ручного ввода (например, качество звука и акселерометр) или ручного позиционирования.
CTS Verifier — это инструмент для ручного тестирования, который включает в себя следующие программные компоненты:
Приложение верификатора CTS, которое запускается на тестируемом устройстве (и на втором устройстве для измерения расстояния) и собирает результаты.
Исполняемые файлы или сценарии, которые выполняются на настольном компьютере для предоставления данных или дополнительного контроля для некоторых тестовых случаев в приложении CTS Verifier.
Рабочий процесс

Рисунок 1. Как использовать CTS
На этой диаграмме обобщается рабочий процесс CTS. Подробные инструкции см. на подстраницах этого раздела, начиная с раздела «Настройка» .
Типы тестовых случаев
CTS включает в себя следующие типы тестовых случаев:
- Модульные тесты проверяют атомарные единицы кода на платформе Android; например, один класс, такой как java.util.HashMap.
Функциональные тесты проверяют комбинацию API в сценарии использования более высокого уровня.
- Тесты на надежность проверяют долговечность системы в условиях стресса.
- Тесты производительности проверяют производительность системы по определенным критериям, например, при рендеринге кадров в секунду.
Охваченные территории
Случаи модульного тестирования охватывают следующие области для обеспечения совместимости:
Область | Описание |
---|---|
Сигнатурные тесты | Для каждой версии Android существуют XML-файлы, описывающие подписи всех общедоступных API, содержащихся в версии. CTS содержит утилиту для проверки этих подписей API на соответствие API, доступным на устройстве. Результаты проверки подписи записываются в XML-файл результатов теста. |
Тесты API платформы | Протестируйте API платформы (основные библиотеки и платформу приложений Android), как описано в Индексе классов SDK, чтобы убедиться в правильности API, включая правильные сигнатуры классов, атрибутов и методов, правильное поведение метода и отрицательные тесты, чтобы убедиться в ожидаемом поведении при неправильной обработке параметров. |
Далвик-тесты | Тесты сосредоточены на тестировании исполняемого формата Dalvik. |
Модель данных платформы | CTS тестирует базовую модель данных платформы, предоставляемую разработчикам приложений через поставщиков контента, как описано в пакете SDK android.provider : контакты, браузер, настройки и т. д. |
Намерения платформы | CTS тестирует основные намерения платформы, как описано в SDK Available Intents . |
Разрешения платформы | CTS тестирует разрешения основной платформы, как описано в Доступные разрешения SDK. |
Ресурсы платформы | CTS проверяет правильность обработки типов ресурсов базовой платформы, как описано в Доступные типы ресурсов SDK. Сюда входят тесты на: простые значения, возможности рисования, девять патчей, анимацию, макеты, стили и темы, а также загрузку альтернативных ресурсов. |