Catch up on highlights from Firebase at Google I/O 2023. Learn more

Анализ результатов тестовой лаборатории Firebase

Существует несколько способов использования Firebase Test Lab для запуска тестов в приложении для Android, включая интерфейс командной строки , Android Studio , пользовательский интерфейс Test Lab в консоли Firebase и Testing API . Как бы вы ни запускали тесты, результаты сохраняются в указанном вами проекте Firebase. Вы можете изучить результаты с помощью ToolResults API в дополнение к любому из перечисленных выше инструментов. На этой странице описывается, как просмотреть и проанализировать результаты этих тестов.

Ключевые идеи

Чтобы просмотреть результаты всех предыдущих тестовых запусков, выберите «Тестовая лаборатория» на левой панели навигации вашего проекта в консоли Firebase. На этой странице отображаются все тестовые прогоны из приложений, которые вы протестировали в своем проекте с помощью Test Lab.

Чтобы просмотреть результаты теста, вам сначала нужно понять три концепции:

Когда вы запускаете тест или набор тестовых наборов для выбранных вами устройств и конфигураций, Test Lab запускает тест для вашего приложения в пакете, а затем отображает результаты в виде тестовой матрицы .

Устройства × количество тестов = матрица тестов

Устройство
Физическое или виртуальное устройство (только Android), на котором вы запускаете тест, например телефон, планшет или носимое устройство. Устройства в тестовой матрице идентифицируются по модели устройства, версии ОС, ориентации экрана и языковым настройкам (также известным как географические и языковые настройки).
Тест, выполнение теста
Тест (или набор тестовых случаев), который нужно запустить на устройстве. Вы можете запустить один тест на каждом устройстве или, при желании, разделить тест и запустить его тестовые сценарии на разных устройствах.
Тестовая матрица
Содержит статусы и результаты тестов для выполнения тестов. Если какое-либо выполнение теста в матрице завершается неудачно, вся матрица терпит неудачу.

В следующих разделах объясняется, как перемещаться по результатам теста.

Интерпретация результатов истории испытаний

Когда вы переходите к результатам теста, выбирая Лаборатория тестирования , вы видите результаты тестов, которые вы выполнили до сих пор.

История тестирования сгруппирована по приложениям. Для каждого приложения отображаются только последние пять тестовых матриц; если доступно больше, вы можете щелкнуть ссылку «Все матрицы» в нижней части списка тестов приложения, чтобы просмотреть полный список для этого приложения.

Интерпретация результатов тестовой матрицы

При запуске теста через пользовательский интерфейс Test Lab вы перенаправляетесь на страницу, где вы можете увидеть свою тестовую матрицу и щелкнуть определенное выполнение теста, чтобы просмотреть результаты теста. Android Studio и команда gcloud также предоставляют URL-адрес страницы результатов тестовой матрицы.

В типичной тестовой матрице вы можете запустить тест на дюжине или около того разных устройств. Каждое выполнение теста может иметь разные результаты. Возможные результаты выполнения любого теста в тестовой матрице включают следующее:

  • ПрошедшийТест пройден : Сбоев не было.
  • НеуспешныйТест не пройден : Произошла по крайней мере одна ошибка.
  • НеубедительныйТест пройден : результаты тестов были неубедительны, возможно, из-за ошибки тестовой лаборатории.
  • ПропущеноТест пройден : выбранные значения измерений для некоторых тестов в матрице были несовместимы. Это происходит, когда выбранные вами устройства несовместимы с одним или несколькими выбранными вами уровнями Android API.

Чтобы просмотреть сводные результаты тестирования для всех тестовых матриц для данного приложения в вашем проекте Firebase, щелкните имя приложения, как показано в следующем примере:

Пример страницы результатов тестовой матрицы только с четырьмя тестами Результаты тестовой матрицы

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

Пример страницы со списком тестовых матриц Список тестовых матриц

Тестовая матрица может пройти, не пройти или быть неубедительной. Матрица тестов отображается как не пройденная или неубедительная, если какие-либо тесты в этой матрице не пройдены или не дают результатов.

Интерпретация результатов теста Robo

Если вы запускали тесты с помощью Robo, ваши результаты включают видео и снимки экрана, на которых Robo сканирует ваш пользовательский интерфейс, в дополнение к обычным показателям тестирования. Эти видео и скриншоты включают в себя визуальную индикацию действий, предпринятых Robo во время сканирования, аналогично функции «Показать касания» в Android. Вы можете использовать указания, чтобы следить за прогрессом Robo и воспроизводить любые ошибки, которые он может обнаружить.

Пример видео с результатами тестирования робота

Результаты испытаний роботов

Интерпретация результатов одного выполнения теста

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

Пример страницы результатов выполнения теста Результаты выполнения теста

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

Результаты испытаний секционированной аппаратуры

Чтобы помочь вам интерпретировать результаты инструментированных тестов, Test Lab разделяет каждый тест на отдельную страницу подробного отчета с трассировкой стека, журналами и видео. Эта функция работает независимо от того, используете ли вы Android Orchestrator.

Пример страницы результатов теста Результаты теста

Интерпретация результатов доступности

Робо-тесты используют сканер специальных возможностей Android для обнаружения проблем с доступностью в вашем приложении (обратите внимание, что вы также можете запустить сканирование локально на своем устройстве). Инструкции о том, как просмотреть и интерпретировать результаты проверки специальных возможностей робота, см. на странице Начало работы со сканером специальных возможностей .

Общие сведения о том, как улучшить специальные возможности вашего приложения, см. в документации по специальным возможностям для разработчиков Android .

Показатели эффективности

Тесты, запущенные на физических устройствах, также возвращают показатели производительности:

Метрика Требуемая конфигурация устройства
Время запуска приложения API 19+
использование процессора API 21+
Использование памяти
Сетевая активность
Кадров в секунду API 21+ и включает SurfaceView
Графическая производительность API 23+

Сведения о графической производительности

Отчет о производительности графики содержит статистику по нескольким ключевым графическим показателям:

  • Пропущенная вертикальная синхронизация: количество пропущенных событий вертикальной синхронизации, деленное на количество кадров, визуализация которых заняла более 16 мс.
  • Высокая задержка ввода: количество событий ввода, которые заняли более 24 мс, деленное на количество кадров, для рендеринга которых потребовалось более 16 мс.
  • Медленный поток пользовательского интерфейса: количество раз, когда поток пользовательского интерфейса выполнялся более 8 мс, деленное на количество кадров, визуализация которых заняла более 16 мс.
  • Команды медленной отрисовки: количество раз, когда отправка команд отрисовки на графический процессор занимала более 12 мс, деленное на количество кадров, отрисовка которых заняла более 16 мс.
  • Медленная загрузка растрового изображения: количество раз, когда растровое изображение загружалось в графический процессор дольше 3,2 мс, деленное на количество кадров, визуализация которых заняла более 16 мс.
  • Время рендеринга: распределение времени рендеринга для каждого кадра тестового прогона. Время рендеринга более 32 миллисекунд вызывает заметное замедление работы пользовательского интерфейса. Время рендеринга 700+ указывает на замороженные кадры. Данные рендеринга собираются из dumpsys graphicsstats .

Подробные результаты испытаний

Подробные результаты тестирования доступны в течение 90 дней после запуска теста и хранятся в корзине Google Cloud Storage (но также отображаются в консоли Firebase). Вы можете просмотреть подробные результаты теста в корзине Cloud Storage, щелкнув Результаты теста на странице результатов выполнения теста. Когда подробные результаты тестов больше не доступны, вы все равно можете увидеть, какие тесты пройдены или не пройдены.

Чтобы сохранить подробные результаты тестирования в течение более 90 дней, вам необходимо отправить эти результаты тестирования в корзину Cloud Storage, которой вы владеете, с помощью параметра командной строки --results-bucket gcloud . Затем вы можете установить параметр «Возраст », чтобы определить, как долго результаты хранятся в вашей корзине облачного хранилища. Информацию о том, как изменить параметр Возраст , см. в разделе Условия жизненного цикла .