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

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