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

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

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

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

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

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

Устройства × Выполнения тестов = Матрица тестов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На этой странице вы можете увидеть время, необходимое для выполнения каждого теста. Вы также можете просмотреть результаты для конкретных тестовых случаев, которые соответствуют методам в вашем тестовом 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 . Затем вы можете установить параметр «Возраст» , чтобы определить, как долго результаты будут храниться в вашем сегменте Cloud Storage. См. Условия жизненного цикла для получения информации о том, как изменить параметр «Возраст» .