Тестирование интернета вещей (IoT - Internet of Things)

Интернет вещей (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:

  • Интернет вещей представляет собой комбинацию нескольких протоколов, устройств, операционных систем, микропрограмм, оборудования, сетевых уровней и т. д.;

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

Источники:

Доп. материал:

Last updated