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