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

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

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

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

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

Программа проверки совместимости Test Suite Verifier (CTS Verifier) ​​является дополнением к CTS, доступным для загрузки . CTS Verifier предоставляет тесты для API и функций, которые нельзя протестировать на стационарном устройстве без ручного ввода (например, качество звука, акселерометр и т. Д.).

CTS Verifier - это инструмент для ручного тестирования, который включает следующие программные компоненты:

  • Приложение-верификатор CTS, которое выполняется на DUT и собирает результаты.

  • Исполняемые файлы или скрипты, которые выполняются на настольном компьютере для предоставления данных или дополнительного контроля для некоторых тестовых случаев в приложении 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 Тесты Тесты сосредоточены на тестировании исполняемого формата Dalvik.
Модель данных платформы CTS тестирует модель данных базовой платформы, предоставляемую разработчикам приложений через поставщиков контента, какописано в пакете SDKandroid.provider : контакты, браузер, настройки и т. Д.
Платформа намерений CTS тестирует основные намерения платформы, как описано в SDK Available Intents .
Разрешения платформы CTS проверяет разрешения базовой платформы, как описано в Доступных разрешениях SDK.
Ресурсы платформы CTS проверяет правильность обработки основных типов ресурсов платформы, как описано в SDKAvailable Resource Types . Сюда входят тесты для: простых значений, чертежей, девяти патчей, анимации, макетов, стилей и тем, а также загрузки альтернативных ресурсов.