Интернет вещей (Internet of Things, IoT) - это множество физических объектов, подключенных к интернету и обменивающихся данными. Концепция IoT может существенно улучшить многие сферы нашей жизни и помочь нам в создании более удобного, умного и безопасного мира. Примеры Интернета вещей варьируются от носимых вещей, таких как умные часы, до умного дома, который умеет, например, контролировать и автоматически менять степень освещения и отопления. Также ярким примером служит так называемая концепция умного предприятия (Smart Factory), которое контролирует промышленное оборудование и ищет проблемные места, а затем перестраивается так, чтобы не допустить поломок. Интернет вещей занимает важное место в процессе цифровой трансформации в компаниях. Прогнозируется, что к 2030 году количество подключенных к сети устройств вырастет примерно до 24 млрд с годовой выручкой до 1,5 трлн долларов.
Архитектура IoT
- Конечные устройства: это объекты, которые фактически образуют «вещи» (Things) в Интернете вещей. Они играют роль интерфейса между реальным и цифровым мирами и принимают разные размеры, формы и уровни технологической сложности в зависимости от задачи, которую они выполняют в рамках конкретного развертывания IoT. Будь то микрофоны размером с булавочную головку или внушительного размера машины, практически любой материальный объект можно превратить в подключенное устройство путем добавления необходимых элементов (датчиков или приводов вместе с соответствующим программным обеспечением);
- Программное обеспечение: это то, благодаря чему подключенные устройства можно назвать «умными». Программное обеспечение отвечает за связь с облаком, сбор данных, интеграцию устройств и за анализ данных в реальном времени. Также оно предоставляет возможности для визуализации данных и взаимодействия с системой IoT;
- Коммуникации: уровень коммуникации включает в себя как решения для физического подключения (сотовая и спутниковая связь, LAN), так и специальные протоколы, используемые в различных средах IoT (ZigBee, Thread, Z-Wave, MQTT, LwM2M). Выбор подходящего коммуникационного решения - одна из жизненно важных частей при построении каждой IoT-системы. Выбранная технология будет определять не только способы отправки и получения данных из облака, но способы связи со сторонними устройствами;
- Платформа: устройства способны «ощущать», что происходит вокруг и сообщать об этом пользователю через определенный канал связи. IoT-платформа - это место, где все эти данные собираются, анализируются и передаются пользователю в удобной форме. Платформы могут быть установлены локально или в облаке. Выбор платформы зависит от требований конкретного проекта IoT и многих факторов: архитектура и стек технологий, надежность, параметры настройки, используемые протоколы, аппаратная независимость, безопасность, эффективность, стоимость.
Виды тестирования IoT
На примере медицинского устройства:
Usability:
- Нам нужно убедиться в удобстве использования каждого из устройств, используемых здесь;
- Используемое устройство отслеживания медицинского обслуживания должно быть достаточно портативным, чтобы его можно было перемещать в различные сегменты медицинского учреждения;
- Оборудование должно быть достаточно умным, чтобы рассылать не только уведомления, но и сообщения об ошибках, предупреждения и т. д.;
- Система должна иметь возможность регистрировать все события, чтобы обеспечить ясность для конечных пользователей. Если это невозможно, система также должна отправить их в базу данных для хранения;
- Уведомления должны отображаться, а управление отображением должно выполняться должным образом на устройствах;
- Необходимо тщательно протестировать удобство использования с точки зрения отображения данных, обработки данных, отправки рабочих заданий с устройств.
Security:
- IoT ориентирован на данные, когда все подключенные устройства/системы работают на основе доступных данных;
- Когда дело доходит до потока данных между устройствами, всегда есть шанс, что данные могут быть доступны или прочитаны при передаче;
- С точки зрения тестирования нам нужно проверить, защищены ли/зашифрованы ли данные при передаче с одного устройства на другое;
- Везде, где есть пользовательский интерфейс, мы должны убедиться, что он защищен паролем.
Connectivity:
- Поскольку это решение для здравоохранения, подключение играет жизненно важную роль;
- Система должна быть доступна все время и должна иметь беспрепятственную связь с заинтересованными сторонами;
- Что касается подключения, очень важно проверить две вещи:
- Подключение, передача данных, получение рабочих заданий с устройств должны быть бесперебойными, когда соединение установлено и работает;
- Другим условием является сценарий отсутствия соединения. Неважно, насколько надежны система и сеть, есть вероятность, что система отключится. Мы, как тестировщики, должны протестировать и офлайн-условия. Когда система недоступна в сети, должно быть предупреждение, которое может подсказать врачам, чтобы они могли начать отслеживать состояние здоровья вручную, независимо от системы, пока она не будет запущена. С другой стороны, в системе должен быть механизм, который мог бы хранить в ней все данные в период автономной работы. Как только система подключается к сети, все эти данные должны распространяться. Потери данных не должно быть ни при каких условиях.
Performance:
- Когда мы говорим о системе для области здравоохранения, нам нужно убедиться, что система достаточно масштабируема для всей больницы;
- Когда проводится тестирование, оно проводится для 2-10 пациентов одновременно, и данные распространяются на 10-20 устройств;
- Когда вся больница подключена и к системе подключено 180-200 пациентов, распространяемые данные намного больше, чем тестируемые данные;
- Как тестировщики, мы должны убедиться, что система работает так же, даже если добавленные данные множатся;
- Мы также должны протестировать утилиту мониторинга, чтобы отображать использование системы, энергопотребление, температуру и т. д.
Compatibility:
- Глядя на сложную архитектуру системы IoT, тестирование на совместимость является обязательным.
- Для тестирования совместимости с IoT необходимо тестирование таких элементов, как несколько версий операционной системы, типы браузеров и соответствующие версии, поколения устройств, режимы связи.
Pilot Testing:
- Что касается IoT, пилотное тестирование является обязательным.
- Только тестирование в лаборатории гарантирует, что продукт/система работает нормально. Но это может иметь неприятные последствия при воздействии условий/шагов/сценариев в реальном времени;
- Во время пилотного тестирования система подвергается воздействию ограниченного числа пользователей в реальных условиях. Они используют приложение и оставляют отзывы о системе;
- Эти комментарии пригодятся, чтобы сделать приложение достаточно надежным для производственного развертывания.
Regulatory Testing:
- Эта система здравоохранения должна пройти через несколько контрольных точек регулирования / соответствия;
- Подумайте о сценарии, в котором продукт проходит все этапы тестирования, но не проходит окончательный контрольный список соответствия;
- Лучше всего получить нормативные требования в начале самого цикла разработки. То же самое должно быть включено в контрольный список тестирования;
- Делая это, мы также удостоверяемся, что продукт сертифицирован по контрольному списку регулирующих органов.
Upgrade testing:
- Интернет вещей представляет собой комбинацию нескольких протоколов, устройств, операционных систем, микропрограмм, оборудования, сетевых уровней и т. д.;
- Когда выполняется обновление, будь то для системы или для любого из задействованных элементов, как указано выше, должно быть проведено тщательное регрессионное тестирование/должна быть принята стратегия, чтобы преодолеть проблемы, связанные с обновлением.
Источники:
- Что такое IoT и что о нем следует знать
- Internet Of Things (IoT) Testing: Challenges, Tools And Testing Approach
Доп. материал:
- IoT там, где вы не ждали. Разработка и тестирование часть 1, 2, 3
- IoT Testing Strategy
- Подборка багов в IoT: теперь вся наша жизнь может быть ошибкой
- ИНТЕРНЕТ ВЕЩЕЙ - это про что? / Умные дома, EDGE-технологии и микроконтроллеры/ Кирилл Овчинников