Compatibility Test Suite (CTS) — это бесплатный коммерческий набор инструментов для тестирования, помогающий убедиться в совместимости ваших устройств с Android. CTS предназначен для интеграции в ваш повседневный рабочий процесс, например, через систему непрерывной сборки. CTS работает на настольном компьютере и выполняет тесты непосредственно на подключенных устройствах или на эмуляторе. Обзор совместимости с Android см. в разделе «Обзор программы совместимости Android» .

Рисунок 1. Автоматизированное тестирование CTS.
На рисунке 1 показан процесс выполнения автоматизированных тестов CTS:
- Загрузите и установите CTS. На этом этапе также необходимо настроить тестовую среду, рабочую станцию для тестирования и тестируемое устройство (DUT).
- Запустите автоматизированные тесты CTS.
- Сохраните и проанализируйте результаты.
- Устраните неполадки и повторно запустите тесты.
Используйте CTS для выявления несовместимостей на ранних стадиях и для обеспечения совместимости ваших реализаций Android на протяжении всего процесса разработки.
компоненты CTS
В состав CTS входят следующие основные компоненты:
- Торговая федерация
- Тестовый стенд и платформа позволяют автоматизировать выполнение тестов.
- автоматизированные тесты CTS
- Тесты, использующие фреймворк Trade Federation и запускаемые с помощью тестового стенда Trade Federation.
- Тесты CTS Verifier (CTS-V)
- Тесты, которые необходимо запускать вручную.
- Приложение CTS Verifier (CTS-V)
- Приложение, используемое для проведения тестов CTS-V и сбора результатов тестов CTS-V.
- Тестовый пример
Отдельный тест, выполняемый на тестируемом устройстве. Автоматизированные тестовые сценарии написаны на Java в виде тестов JUnit и упакованы в файлы Android APK для запуска на целевом устройстве.
Тестовые случаи могут быть модульными или функциональными тестами . Модульный тест проверяет атомарные единицы кода в рамках платформы Android. Например, модульный тест может проверять отдельный класс Android.
Функциональное тестирование проверяет сочетание методов и классов, используемых для конкретного сценария применения.
- Тестовая конфигурация
Конфигурации тестов представляют собой XML-файлы, расположенные в каталоге
WORKING_DIRECTORY /cts/tools/cts-tradefed/res/config. Существуют конфигурации тестов, содержащие все автоматизированные тестовые случаи, и конфигурации тестов, содержащие подмножество тестовых случаев.- Тестовый модуль
Конфигурация тестирования, состоящая из набора тестовых случаев для одной и той же функциональной области.
- План тестирования
Конфигурация тестирования, состоящая из набора тестовых модулей.
Покрытие теста
Для обеспечения совместимости тестовые примеры охватывают следующие области:
| Область | Описание |
|---|---|
| Тесты подписи | Для каждого релиза Android существуют XML-файлы, описывающие подписи всех общедоступных API, содержащихся в релизе. CTS содержит утилиту для проверки этих подписей API на соответствие API, доступным на устройстве. Результаты проверки подписей записываются в XML-файл с результатами теста. |
| Тесты API платформы | Протестируйте API платформы (основные библиотеки и Android Application Framework) в соответствии с документацией в индексе классов SDK, чтобы убедиться в корректности API, включая правильные сигнатуры классов, атрибутов и методов, правильное поведение методов, а также используйте негативные тесты для проверки ожидаемого поведения при некорректной обработке параметров. |
| Тесты Дальвика | Тесты направлены на проверку формата исполняемого файла Dalvik. |
| Модель данных платформы | Тестирование CTS проверяет основную модель данных платформы, предоставляемую разработчикам приложений через поставщиков контента, как описано в пакете android.provider SDK (включая контакты, браузеры и настройки). |
| Намерения платформы | Тест CTS проверяет основные намерения платформы, как описано в разделе «Общие намерения SDK». |
| Разрешения платформы | CTS проверяет основные разрешения платформы, как описано в файле Manifest.permission SDK. |
| Ресурсы платформы | Тесты CTS проверяют корректность обработки основных типов ресурсов платформы, как описано в обзоре типов ресурсов SDK. Тесты CTS включают проверку простых значений, изображений, девятипатч-элементов, анимаций, макетов, стилей и тем, а также загрузки альтернативных ресурсов. |
Что дальше?
После прочтения этого документа перейдите к настройке CTS .