Оптимизация CTS

Пакет тестов совместимости Android (CTS) содержит миллионы отдельных тестов. Хотя запуск CTS необходим на этапе разработки программного обеспечения, время, затрачиваемое на выполнение этих тестов, можно сократить.

На этой странице описаны методы, которые можно использовать для сокращения времени выполнения тестов, а также способы оптимизации аппаратных ресурсов в этом процессе.

шардинговые устройства

Для сокращения времени выполнения цикла рекомендуется запускать тесты CTS на нескольких устройствах (шардинг). Чтобы узнать, как можно использовать шардинг, ознакомьтесь с разделом «Запуск тестов CTS» .

Тестовая станция Android

Используйте Android Test Station (ATS) для запуска стандартных наборов тестов Android через пользовательский интерфейс. Этот инструмент служит веб-интерфейсом для Trade Federation (TF) , позволяя запускать CTS с минимальной настройкой на наборе тестовых устройств, а также устанавливать расписание для непрерывного запуска тестов.

Тестовая станция Android поддерживает многохостовый режим , в котором один контроллер ATS может использоваться для управления устройствами и тестами на нескольких рабочих хостах ATS.

Эмулятор работает непрерывно

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

Программа обеспечения качества drawElements (dEQP)

В состав Android CTS входит программа проверки качества drawElements (dEQP) . Эта программа, называемая CtsDepqTestCases , фокусируется на тестовом покрытии графики Android. На этот модуль приходится почти 80% всех тестовых случаев в Android CTS и 6% от общего времени выполнения.

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

Один из вариантов — запустить CtsDeqpTestCases отдельно на нескольких устройствах, а затем отправить отчеты CTS. Например, на двух разных хостах.

Хостинг 1:

cts-tf > run cts --max-log-size 100 --shard-count 6 -o -m CtsDeqpTestCases

Ведущий 2:

cts-tf > run cts --max-log-size 100 --shard-count 6 -o --exclude-filter CtsDeqpTestCases

Тестовые примеры для СМИ

Тестовые сценарии для работы с мультимедиа проверяют работу мультимедийных сервисов, таких как аудио, видео и драйверы мультимедиа. Эти модули тестирования мультимедиа вносят наибольший вклад во время выполнения CTS. Задержки могут возникать в следующих случаях:

  • Загрузка медиафайлов или многократное воспроизведение медиафайлов во время тестирования.
  • Повторная попытка выполнения неудачных тестовых случаев.

Android CTS содержит следующие тестовые модули:

  • CtsMediaStressTestCases
  • CtsMediaPlayerTestCases
  • CtsMediaAudioTestCases
  • CtsVideoTestCases
  • CtsMediaDecoderTestCases
  • CtsMediaCodecTestCases
  • CtsMediaV2TestCases

Рекомендуется запустить некоторые тесты мультимедиа локально или на локальном сервере. Подробности см. в разделе «Запуск тестов мультимедиа CTS локально» .

Мультимедийная платформа и её драйверы (декодеры и кодировщики) являются частью прошивки Android (BSP). Вы можете использовать этот модуль стратегически и исключать его из работы на несколько циклов в зависимости от графика обновления прошивки.