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

Compatibility Test Suite (CTS) — это бесплатный коммерческий набор тестов, доступный для загрузки в виде двоичного файла или исходного кода в Android Open Source Project (AOSP) . CTS представляет собой «механизм» совместимости.

CTS работает на настольном компьютере и выполняет тестовые случаи непосредственно на подключенных устройствах или эмуляторе. CTS — это набор модульных тестов, предназначенных для интеграции в ежедневный рабочий процесс (например, через систему непрерывной сборки) инженеров, создающих устройство. Его цель — выявить несовместимости на ранней стадии и гарантировать, что программное обеспечение останется совместимым на протяжении всего процесса разработки.

CTS — это автоматизированный набор для тестирования, в котором используются два основных программных компонента:

  • Тестовая система CTS Trade Federation запускается на вашем настольном компьютере и управляет выполнением тестов. Он предлагает возможность сегментировать тесты на нескольких тестируемых устройствах (DUT). Вы также можете использовать функцию повторного запуска набора , чтобы повторить только неудачные попытки, а не полные наборы, что значительно сокращает время повторного запуска.
  • Отдельные тестовые примеры выполняются на тестируемом устройстве. Тестовые примеры написаны на Java в виде тестов JUnit и упакованных файлов Android .apk для запуска на фактическом целевом устройстве.

Compatibility Test Suite Verifier (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 Application Framework), как указано в указателе классов SDK, чтобы убедиться в правильности API, включая правильные сигнатуры классов, атрибутов и методов, правильное поведение методов и отрицательные тесты, чтобы гарантировать ожидаемое поведение при неправильной обработке параметров.
Дальвик-тесты Тесты сосредоточены на тестировании исполняемого формата Dalvik.
Модель данных платформы CTS тестирует базовую модель данных платформы, предоставляемую разработчикам приложений через поставщиков контента, как описано в пакете SDK android.provider : контакты, браузер, настройки и т. д.
Намерения платформы CTS тестирует основные намерения платформы, как описано в SDK Available Intents .
Разрешения платформы CTS проверяет разрешения базовой платформы, как описано в SDK Available Permissions .
Ресурсы платформы CTS проверяет правильность обработки типов ресурсов базовой платформы, как описано в SDK Available Resource Types . Сюда входят тесты для: простых значений, рисунков, девяти исправлений, анимации, макетов, стилей и тем, а также загрузки альтернативных ресурсов.