В отличие от других типов приложений для Android, у приложения Home API есть свои уникальные особенности и проблемы, включая зависимость от физических устройств умного дома, надежность сети, безопасность и конфиденциальность, а также совместимость устройств и протоколов. Эти различия влияют на тестирование.
Настройте тестовую среду
Для тестирования приложения Home API необходима надежная тестовая среда.
Рекомендуем изолировать тестовые устройства 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. |
| Espresso | Позволяет автоматизировать тестирование интерфейса. Вам нужно имитировать базовый API, чтобы симулировать взаимодействие с аппаратным обеспечением. |
| Эмулятор сети | Позволяет симулировать различные условия сети и ответы API, что особенно полезно, если Home API использует облачный сервер. |
| Android Studio Logcat | Обработка и анализ данных журнала. |
Применять различные подходы и стратегии тестирования
При тестировании приложения Home API следует использовать разные подходы. Общую информацию о методах тестирования можно найти в статье Тестирование приложений для Android. Помимо тестирования удобства использования и безопасности, которое должны проходить все приложения для Android, есть несколько областей, которые особенно важны для приложений Home API. Они подробно описаны в следующих разделах.
Функциональное тестирование
В зависимости от возможностей вашего приложения, вам может потребоваться уделить особое внимание некоторым из следующих областей:
- Обнаружение устройств и подключение к ним, включая первоначальную настройку и подключение к новым устройствам, повторное обнаружение существующих устройств после перезапуска приложения, перезагрузки устройства или изменения сети. Также проверьте сценарии, в которых устройства не отвечают или пользователь вводит неверные учетные данные.
- Синхронизация состояния, обеспечивающая своевременное обновление приложения для точного отражения текущего состояния.
- Как управляются и применяются разрешения, особенно если приложение поддерживает несколько пользователей или общий доступ к дому. В частности, убедитесь, что приложение корректно обрабатывает отзыв разрешений.
- Если ваше приложение поддерживает сценарии, например "Спокойной ночи", который выключает весь свет, протестируйте создание, изменение и выполнение сценариев. Протестируйте автоматизацию, включая триггеры и действия.
Тестирование производительности
Убедитесь, что приложение быстро реагирует на действия пользователя и не вызывает задержек. По возможности проведите тестирование на большом количестве устройств, чтобы оценить масштабируемость и производительность приложения под нагрузкой. Также проверьте, как приложение использует ЦП, память и батарею, особенно во время активного обмена данными с устройством.
Тестирование надежности и стабильности
Поскольку приложения Home API зависят от сетевого подключения, их следует протестировать в следующих сценариях:
- Колебания в сети
- Смоделируйте сбои Wi-Fi, слабый сигнал и переключение сетей.
- Убедитесь, что приложение корректно обрабатывает отключения и повторные подключения.
- Убедитесь, что команды ставятся в очередь и выполняются, когда связь восстанавливается, или показываются соответствующие сообщения об ошибках.
- Протестируйте приложение в удаленных сетях, а не только в домашней сети.
- Отключение устройства
- Отключите устройства от сети.
- Перезагрузите устройства.
- Параллельные операции
- Отправьте быструю последовательность команд.
- Попросите нескольких пользователей одновременно управлять одним устройством.
- Проверьте, не пересекаются ли сцены и автоматизации.
- Обработка ошибок
- Принудительно вызывать ошибки API, например имитируя ответы сервера облачного API.
- Протестируйте недопустимые запросы от пользователя.
- Проверьте, как работает постепенное сокращение и информативные сообщения об ошибках.
- Надежность. Запустите приложение и подключенные устройства на длительное время, чтобы выявить возможные утечки памяти или проблемы со стабильностью.
Перед запуском приложения
Перед запуском приложения, использующего Home API, рекомендуется тщательно протестировать его, чтобы убедиться, что оно соответствует всем функциональным требованиям и требованиям к качеству. Используйте отчет о тестировании приложения с Google Home API в качестве руководства по тестированию функций приложения.
Если вас попросят предоставить отчет о тестировании приложения Google Home API, отправьте его своему Technical Account Manager (TAM) в Google. Он изучит отчет и будет использовать его в качестве справочного материала при тестировании вашего приложения.