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