Оптимизация 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)

Программа качества drawElements (dEQP) включена в Android CTS. Эта программа под названием 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). Вы можете стратегически запустить этот модуль и исключить эти модули на несколько циклов в зависимости от графика обновления прошивки.