Тестування інтернету речей (IoT - Internet of Things)

Інтернет речей(Internet of Things, IoT) - це безліч фізичних об'єктів, підключених до інтернету та даних, що обмінюються. Концепція IoT може суттєво покращити багато сфер нашого життя та допомогти нам у створенні більш зручного, розумного та безпечного світу. Приклади Інтернету речей варіюються від речей, що носяться, таких як розумний годинник, до розумного будинку, який вміє, наприклад, контролювати і автоматично змінювати ступінь освітлення та опалення. Також яскравим прикладом є так звана концепція розумного підприємства (Smart Factory), яке контролює промислове обладнання та шукає проблемні місця, а потім перебудовується так, щоб не допустити поломок. Інтернет речей займає важливе місце у процесі цифрової трансформації в компаніях. Прогнозується,

Архітектура IoT

  • Кінцеві пристрої : це об'єкти, які фактично утворюють "речі" (Things) в Інтернеті речей. Вони відіграють роль інтерфейсу між реальним та цифровим світами та приймають різні розміри, форми та рівні технологічної складності залежно від завдання, яке вони виконують у рамках конкретного розгортання IoT. Будь то мікрофони розміром з шпилькову головку або значний розмір машини, практично будь-який матеріальний об'єкт можна перетворити на підключений пристрій шляхом додавання необхідних елементів (датчиків або приводів разом з відповідним програмним забезпеченням);

  • Програмне забезпечення : це те, завдяки чому підключені пристрої можна назвати «розумними». Програмне забезпечення відповідає за зв'язок із хмарою, збір даних, інтеграцію пристроїв та за аналіз даних у реальному часі. Також воно надає можливості для візуалізації даних та взаємодії із системою IoT;

  • Комунікації : рівень комунікації включає як рішення для фізичного підключення (стільниковий і супутниковий зв'язок, LAN), так і спеціальні протоколи, що використовуються в різних середовищах IoT (ZigBee, Thread, Z-Wave, MQTT, LwM2M). Вибір відповідного комунікаційного рішення - одне з життєво важливих елементів під час побудови кожної IoT-системы. Вибрана технологія визначатиме не тільки способи надсилання та отримання даних з хмари, але способи зв'язку зі сторонніми пристроями;

  • Платформа : пристрої здатні «відчувати», що відбувається навколо і повідомляти про це користувачеві через певний канал зв'язку. IoT-платформа - це місце, де всі ці дані збираються, аналізуються та передаються користувачеві у зручній формі. Платформи можуть бути встановлені локально або у хмарі. Вибір платформи залежить від вимог конкретного проекту IoT та багатьох факторів: архітектура та стек технологій, надійність, параметри налаштування, протоколи, апаратна незалежність, безпека, ефективність, вартість.

Види тестування IoT

https://miro.medium.com/max/3000/0*WxlU94XowYPqyFqT

На прикладі медичного пристрою:

Usability :

  • Нам потрібно переконатися у зручності використання кожного із пристроїв, що використовуються тут;

  • Пристрій, що використовується, відстеження медичного обслуговування повинен бути достатньо портативним, щоб його можна було переміщати в різні сегменти медичного закладу;

  • Обладнання має бути досить розумним, щоб розсилати не тільки повідомлення, а й повідомлення про помилки, попередження тощо;

  • Система повинна мати можливість реєструвати всі події, щоб забезпечити ясність кінцевих користувачів. Якщо це неможливо, система також повинна надіслати їх до бази даних для зберігання;

  • Повідомлення повинні відображатися, а керування відображенням має виконуватися належним чином на пристроях;

  • Необхідно ретельно протестувати зручність використання з погляду відображення даних, обробки даних, відправки робочих завдань з пристроїв.

Security :

  • IoT орієнтований дані, коли всі підключені пристрої/системи працюють з урахуванням доступних даних;

  • Коли справа доходить до потоку даних між пристроями, завжди є шанс, що дані можуть бути доступні або прочитані під час передачі;

  • З точки зору тестування нам потрібно перевірити, чи захищені/зашифровані дані при передачі з одного пристрою на інший;

  • Скрізь, де є інтерфейс користувача, ми повинні переконатися, що він захищений паролем.

Connectivity :

  • Оскільки це рішення для охорони здоров'я, підключення грає життєво важливу роль;

  • Система має бути доступна весь час і повинна мати безперешкодний зв'язок із заінтересованими сторонами;

  • Щодо підключення, дуже важливо перевірити дві речі:

    • Підключення, передача даних, отримання робочих завдань із пристроїв повинні бути безперебійними, коли з'єднання встановлено та працює;

    • Іншою умовою є сценарій відсутності з'єднання. Неважливо, наскільки надійними є система та мережа, є ймовірність, що система відключиться. Ми, як тестувальники, маємо протестувати і офлайн-умови. Коли система недоступна в мережі, має бути попередження, яке може підказати лікарям, щоб вони могли почати відстежувати стан здоров'я вручну, незалежно від системи, доки вона не буде запущена. З іншого боку, у системі має бути механізм, який міг би зберігати у ній усі дані під час автономної роботи. Як тільки система підключається до мережі, всі ці дані мають бути розповсюджені. Втрати даних не повинно бути за жодних умов.

Performance :

  • Коли ми говоримо про систему для охорони здоров'я, нам потрібно переконатися, що система досить масштабована для всієї лікарні;

  • Коли проводиться тестування, воно проводиться для 2-10 пацієнтів одночасно і дані поширюються на 10-20 пристроїв;

  • Коли вся лікарня підключена і до системи підключено 180-200 пацієнтів, дані, що розповсюджуються, набагато більше, ніж тестовані дані;

  • Як тестувальники, ми повинні переконатися, що система працює так само, навіть якщо додані дані множаться;

  • Ми також повинні протестувати утиліту моніторингу, щоб відображати використання системи, енергоспоживання, температуру тощо.

Compatibility :

  • Дивлячись на складну архітектуру системи IoT, тестування на сумісність є обов'язковим.

  • Для тестування сумісності з IoT необхідно тестування таких елементів як кілька версій операційної системи, типи браузерів і відповідні версії, покоління пристроїв, режими зв'язку.

Pilot Testing :

  • Щодо IoT, пілотне тестування є обов'язковим.

  • Тільки тестування у лабораторії гарантує, що продукт/система працює нормально. Але це може мати неприємні наслідки при впливі умов/кроків/сценаріїв у реальному часі;

  • Під час пілотного тестування система піддається впливу обмеженої кількості користувачів у реальних умовах. Вони використовують додаток та залишають відгуки про систему;

  • Ці коментарі стануть у нагоді, щоб зробити додаток достатньо надійним для виробничого розгортання.

Regulatory Testing :

  • Ця система охорони здоров'я має пройти через кілька контрольних точок регулювання/відповідності;

  • Подумайте про сценарій, де продукт проходить всі етапи тестування, але не проходить остаточний контрольний список відповідності;

  • Найкраще отримати нормативні вимоги на початку циклу розробки. Те саме має бути включено до контрольного списку тестування;

  • Роблячи це, ми також запевняємо, що продукт сертифікований за контрольним списком регулюючих органів.

Upgrade testing :

  • Інтернет речей є комбінацією декількох протоколів, пристроїв, операційних систем, мікропрограм, обладнання, мережевих рівнів і т. д.;

  • Коли виконується оновлення, будь то для системи або для будь-якого із задіяних елементів, як зазначено вище, має бути проведене ретельне регресійне тестування/має бути прийнята стратегія, щоб подолати проблеми, пов'язані з оновленням.

Джерела:

Дод. матеріал:

Last updated