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. Подробные инструкции см. на подстраницах этого раздела, начиная с « Настройка ».
Типы тестовых случаев
CTS включает в себя следующие типы тестовых случаев:
- Модульные тесты проверяют атомарные единицы кода на платформе Android; например, один класс, такой как java.util.HashMap.
Функциональные тесты проверяют комбинацию API вместе в сценарии использования более высокого уровня.
- Тесты на надежность проверяют долговечность системы под нагрузкой.
- Тесты производительности проверяют производительность системы по сравнению с определенными эталонными показателями, например, при рендеринге кадров в секунду.
Области охвата
Сценарии модульного тестирования охватывают следующие области для обеспечения совместимости:
Область | Описание |
---|---|
Сигнатурные тесты | Для каждого выпуска 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 . Сюда входят тесты для: простых значений, рисунков, девяти исправлений, анимации, макетов, стилей и тем, а также загрузки альтернативных ресурсов. |