Существует несколько способов использования Firebase Test Lab для запуска тестов в вашем Android-приложении, включая интерфейс командной строки , Android Studio , пользовательский интерфейс Test Lab в консоли Firebase и API тестирования . Независимо от выбранного способа запуска тестов, результаты сохраняются в указанном вами проекте Firebase. Вы можете изучить результаты, используя API ToolResults в дополнение к любым из перечисленных выше инструментов. На этой странице описано, как просматривать и анализировать результаты тестов.
Ключевые концепции
Чтобы просмотреть результаты всех предыдущих тестовых запусков, выберите Test Lab на левой панели навигации вашего проекта в консоли Firebase . На этой странице отображаются все тестовые запуски приложений, которые вы протестировали в своем проекте с помощью Test Lab .
Чтобы проанализировать результаты теста, вам сначала необходимо понять три концепции:
При запуске теста или набора тестовых случаев на выбранных вами устройствах и конфигурациях Test Lab запускает тест на вашем приложении в пакетном режиме, а затем отображает результаты в виде тестовой матрицы .
Устройства × Выполнения тестов = Тестовая матрица
- Устройство
- Физическое или виртуальное устройство (только для Android), на котором проводится тест, например, телефон, планшет или носимое устройство. Устройства в тестовой матрице идентифицируются по модели, версии ОС, ориентации экрана и региональным настройкам (также известным как географические и языковые настройки).
- Тест, выполнение теста
- Тест (или набор тестовых случаев), который нужно запустить на устройстве. Вы можете запустить один тест на устройство или, при желании, разделить тест и запустить его тестовые случаи на разных устройствах.
- Тестовая матрица
- Содержит статусы и результаты выполненных тестов. Если выполнение любого теста в матрице завершается неудачей, вся матрица считается не пройденной.
В следующих разделах объясняется, как ориентироваться в результатах теста.
Интерпретировать результаты истории тестов
При переходе к результатам теста путем выбора Test Lab вы увидите результаты тестов, которые вы выполнили на данный момент.
История тестирования сгруппирована по приложениям. Для каждого приложения отображаются только последние пять тестовых матриц. Если доступны дополнительные матрицы, нажмите ссылку « Все матрицы» внизу списка тестов приложения, чтобы увидеть полный список для этого приложения.
Интерпретировать результаты тестовой матрицы
При запуске теста через интерфейс Test Lab вы будете перенаправлены на страницу, где можно увидеть свою тестовую матрицу и нажать на выполнение конкретного теста, чтобы просмотреть результаты. Android Studio и команда gcloud также предоставляют URL-адрес страницы с результатами тестовой матрицы.
В типичной тестовой матрице вы можете запустить тест на десятке различных устройств. Каждое выполнение теста может иметь разный результат. Возможные результаты любого выполнения теста в тестовой матрице включают в себя следующее:
- Прошедший
: Сбоев не обнаружено.
- Неуспешный
: Обнаружена по крайней мере одна ошибка.
- Неокончательный
: Результаты испытаний оказались неоднозначными, возможно, из-за ошибки Test Lab .
- Пропущено
: Выбранные значения параметров для некоторых тестовых запусков в матрице оказались несовместимыми. Это происходит, когда выбранные вами устройства несовместимы с одним или несколькими выбранными вами уровнями API Android.
Чтобы просмотреть агрегированные результаты тестирования для всех тестовых матриц для определенного приложения в проекте 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 .