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

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

Ключевые понятия

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

Для анализа результатов теста необходимо сначала понять три понятия:

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

Количество устройств × Количество выполненных тестов = Матрица тестирования

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

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

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

При переходе к результатам тестирования через выбор пункта Test Lab вы увидите результаты уже проведенных тестов.

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

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

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

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

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

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

Пример страницы с результатами тестовой матрицы, содержащей только четыре выполненных теста. Результаты тестовой матрицы

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

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

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

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

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

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

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

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

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

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

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

Результаты испытаний измерительного оборудования с разделением на категории

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

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

Интерпретируйте результаты проверки доступности.

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

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

Показатели производительности

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

Метрика Необходимая конфигурация устройства
время запуска приложения API 19+
использование ЦП API 21+
Использование памяти
Сетевая активность
Кадры в секунду API 21+ и включает SurfaceView

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

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

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

При запуске теста, если вы получаете ошибку " does not have storage.objects.create access to the Google Cloud Storage object. Permission 'storage.objects.create' denied on resource (or it may not exist).. , это означает, что у пользователя, выполняющего тест, может отсутствовать необходимое разрешение в проекте. По умолчанию Firebase создает для вас корзину в Google Cloud Storage, однако для этого пользователю, выполняющему тест, требуется роль "roles/editor", которая является разрешительной. Если вы не можете предоставить эту роль пользователю, вы можете использовать параметр командной строки gcloud --results-bucket .