Проверьте свое приложение

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

Настройте тестовую среду.

Надежная среда тестирования имеет решающее значение для тестирования приложения, использующего API Home.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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