Протестируйте приложение

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

Как настроить тестовую среду

Надежная тестовая среда необходима для тестирования приложения с Home API.

Рекомендуем изолировать тестовые устройства Home API в отдельной сети Wi-Fi. Это позволит избежать помех от других устройств и имитировать различные условия сети, например ограниченную пропускную способность.

Вам нужно будет протестировать устройства умного дома разных типов и производителей. Обязательно тестируйте сайт на реальных устройствах. Виртуальные устройства и эмуляторы полезны, но не должны быть единственным инструментом.

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

Подготовьте инструменты

Для тестирования приложения, использующего Home API, можно использовать следующие инструменты:

Инструмент Описание
Google Home Plugin for Android Studio Предоставляет доступ к Google Assistant Simulator, инструменту просмотра Home Graph, Google Cloud Logging и инструменту просмотра журнала Android Debug Bridge (adb).
Google Home Playground Не заменяет тестирование на реальных устройствах, но очень полезен во многих случаях.
Matter Virtual Device (MVD) Ещё одно приложение-эмулятор, которое может быть полезно при тестировании устройств Matter в приложении Home APIs.
Espresso Позволяет автоматизировать тестирование интерфейса. Вам нужно имитировать базовый API, чтобы симулировать взаимодействие с оборудованием.
эмулятор сети; Позволяет имитировать различные условия сети и ответы API. Это особенно полезно, если ваш Home API использует облачный сервер.
Logcat в Android Studio Обрабатывает и анализирует данные журналов.

Применять различные подходы и стратегии тестирования.

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

Функциональное тестирование

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

  1. Обнаружение и подключение устройств, в том числе первоначальная настройка и подключение новых устройств, повторное обнаружение существующих устройств после перезапуска приложения, перезагрузки устройства или изменения сети. Также проверьте, что происходит, если устройство не отвечает или пользователь вводит неверные учетные данные.
  2. Синхронизация статуса, чтобы приложение своевременно обновлялось и точно отражало текущий статус.
  3. Как управляются и применяются разрешения, особенно если приложение поддерживает несколько пользователей или общий доступ к дому. В частности, убедитесь, что приложение корректно обрабатывает отозванные разрешения.
  4. Если ваше приложение поддерживает сцены, например "Спокойной ночи", которая выключает все лампы, протестируйте создание, изменение и выполнение сцен. Проверять программы, в том числе триггеры и действия.

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

Убедитесь, что приложение быстро реагирует на действия пользователя и не создает ненужных задержек. Если возможно, протестируйте приложение на большом количестве устройств, чтобы оценить его масштабируемость и производительность при нагрузке. Также проверьте, как приложение использует ЦП, память и батарею, особенно во время активного обмена данными с устройством.

Тестирование надежности и стабильности

Поскольку приложения Home API зависят от подключения к сети, их следует тестировать в следующих ситуациях:

  1. Нестабильное подключение к сети
    • Имитируйте отключение Wi-Fi, слабый сигнал и переключение между сетями.
    • Убедитесь, что приложение корректно обрабатывает отключения и повторные подключения.
    • Убедитесь, что команды ставятся в очередь и выполняются после восстановления подключения или что при отсутствии подключения показываются подходящие сообщения об ошибках.
    • Проверьте работу приложения в разных сетях, а не только в домашней сети.
  2. Отключение устройства
    • Отключите устройства от сети питания.
    • Отключите и снова включите устройства.
  3. Параллельные операции
    • Отправлять команды в быстрой последовательности.
    • Попросите нескольких пользователей одновременно попытаться управлять одним и тем же устройством.
    • Проверьте, как работают сцены и автоматизация.
  4. Обработка ошибок
    • Имитировать ошибки API, например подделывая ответы облачного сервера API.
    • Проверьте, как обрабатываются недопустимые входные данные.
    • Проверьте, как работает постепенное снижение производительности и насколько информативны сообщения об ошибках.
  5. Надежность. Запустите приложение и подключенные устройства на длительное время, чтобы выявить возможные утечки памяти или проблемы со стабильностью.

Перед запуском приложения

Перед запуском приложения, использующего Home API, рекомендуется тщательно протестировать его, чтобы убедиться, что оно соответствует всем требованиям к функциональности и качеству. Используйте отчет о тестировании приложения с помощью Google Home API в качестве руководства по проверке функций приложения.

Если вам нужно отправить отчет о тестировании приложения с использованием Google Home API, отправьте его своему представителю Google Technical Account Manager (TAM). Он проверит отчет и будет использовать его в качестве справочного материала при тестировании вашего приложения.