Набор тестов на совместимость с Android (CTS) предоставляет миллионы отдельных тестов. Хотя CTS необходимо часто запускать на этапе разработки программного обеспечения, время, необходимое для выполнения этих тестов, можно сократить.
На этой странице описываются методы, которые можно использовать для сокращения времени выполнения теста, а также способы оптимизации аппаратных ресурсов в этом процессе.
Шардинговые устройства
Чтобы сократить время цикла, рассмотрите возможность запуска CTS на нескольких устройствах (шардинг). Чтобы узнать, как использовать шардинг, ознакомьтесь со статьей «Запуск тестов CTS» .
Тестовая станция Android
Используйте Android Test Station (ATS) для запуска стандартных наборов тестов Android через пользовательский интерфейс. Этот инструмент служит веб-интерфейсом для Trade Federation (TF) , позволяя запускать CTS с минимальной настройкой на наборе тестовых устройств, а также устанавливать расписание для непрерывного запуска тестов.
Тестовая станция Android поддерживает режим Multi-host , при котором один хост-контроллер 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). Вы можете запускать этот модуль стратегически и исключать его из работы в течение нескольких циклов в соответствии с графиком обновления прошивки.