Набор тестов совместимости

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.

Рабочий процесс

поток CTS

Рисунок 1. Как использовать CTS

На этой диаграмме обобщается рабочий процесс CTS. Подробные инструкции см. на подстраницах этого раздела, начиная с раздела «Настройка» .

Типы тестовых случаев

CTS включает в себя следующие типы тестовых случаев:

  • Модульные тесты проверяют атомарные единицы кода на платформе Android; например, один класс, такой как java.util.HashMap.
  • Функциональные тесты проверяют комбинацию API в сценарии использования более высокого уровня.

Будущие версии CTS будут включать следующие типы тестовых случаев:
  • Тесты на надежность проверяют долговечность системы в условиях стресса.
  • Тесты производительности проверяют производительность системы по определенным критериям, например, при рендеринге кадров в секунду.

Охваченные территории

Случаи модульного тестирования охватывают следующие области для обеспечения совместимости:

Область Описание
Сигнатурные тесты Для каждой версии 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. Сюда входят тесты на: простые значения, возможности рисования, девять патчей, анимацию, макеты, стили и темы, а также загрузку альтернативных ресурсов.