internet things testing
Тестування Інтернету речей (IoT):
Коли запитання на кшталт «Які життєво необхідні речі» ставлять людям, більшість із них відповідають: «Їжа, притулок, одяг».
Але так було до століття. Людські істоти еволюціонували, щоб виробити кілька додаткових потреб для життя. Ми еволюціонували, щоб зробити наше життя простішим, кращим, простішим.
Основні питання та відповіді на співбесіду в
Ми перестали використовувати перемикачі для управління освітленням, перестали платити в кіосках, щоб сплачувати плату за збір, ми розумно стежили за своїм станом здоров’я, ефективніше відстежували рух автомобілів і багато в цьому списку.
Як нам це зробити зараз? Чим воно таке різне?
Потрібно зрозуміти їх спочатку, після чого ми можемо навчитися їх перевіряти.
Що ви дізнаєтесь:
- Що таке Інтернет речей (IoT)?
- Приклади IoT
- Технологія, що використовується в IoT
- Тестування IoT
- Проблеми тестування IoT
- Інструменти тестування IoT
- Узагальнити
- Рекомендована література
Що таке Інтернет речей (IoT)?
IoT - це з'єднання транспортних засобів, побутової техніки, медичного обладнання з використанням вбудованої електроніки, мікрочіпів тощо для збору та обміну даними іншого типу, що називається IoT. Ця технологія дозволяє користувачеві віддалено керувати пристроями через мережу.
Приклади IoT
Деякі приклади IoT у реалізації реального життя такі:
# 1) У носіться технології:
Носні пристрої, такі як діапазони Fitbit та годинник Apple, легко синхронізуються з мобільними пристроями.
Вони допомагають фіксувати необхідну інформацію, таку як стан здоров’я, контроль пульсу, активність уві сні і т. Д. Вони також допомагають відображати на них дані, повідомлення від мобільних пристроїв.
# 2) Інфраструктура та розвиток:
За допомогою програми, такої як CitySense , простіше отримати дані про зовнішнє освітлення в режимі реального часу, і на основі них вуличне освітлення вмикається або вимикається. Існують також різні програми для управління дорожньою сигналізацією та доступністю стоянок у вишуканому плануванні міста.
# 3) Охорона здоров’я:
Існує безліч програм для моніторингу стану здоров'я пацієнтів.
Спираючись на контрольні дані, служби контролюють дозування ліків у різний час на добу. Існують такі програми, як UroSense, які можуть контролювати рівень рідини в організмі пацієнта і на основі потреби можуть ініціювати передачу рідини. У той же час дані можуть передаватися бездротовим способом різним зацікавленим сторонам.
Технологія, що використовується в IoT
Нижче наведено кілька найбільш часто використовуваних технологій в Інтернеті речей:
- RFID Теги (Радіочастотний код) та EPC (Електронний код товару)
- NFC (Близький зв’язок) використовується для забезпечення двосторонньої взаємодії між електронними пристроями. Це в основному для смартфонів і в основному використовується для безконтактних платіжних операцій.
- Bluetooth: Це використовується там, де зв'язку короткого радіусу дії достатньо, щоб вирішити проблему. Це в основному використовується в технологіях, що носяться.
- Z-хвиля: Це низькопотужна технологія RF-зв'язку. Це в основному використовується для домашньої автоматизації, управління світильниками тощо.
- Wi-Fi: Це найбільш часто використовуваний вибір для IoT. У локальній мережі це допомагає безперешкодно передавати файли, дані та повідомлення.
Тестування IoT
Візьмемо приклад медичної системи відстеження охорони здоров’я, в якій прилад контролює стан здоров’я, частоту серцевих скорочень, деталі споживання рідини та надсилає звіт лікарям. Ці дані реєструються в системі, а історичні дані можна переглядати при необхідності.
На основі даних лікарі можуть ініціювати прийом ліків та добавок рідини. Це може бути запущено віддалено з будь-якого з пристроїв (комп’ютерів або мобільних пристроїв), до яких підключено медичний пристрій.
Тепер, щоб перевірити таку архітектуру, нам потрібно пройти кілька підходів до тестування, таких як;
Підходи до тесту IoT
# 1) Юзабіліті:
- Нам потрібно переконатись у зручності використання кожного пристрою, що використовується тут.
- Використовуваний пристрій медичного відстеження охорони здоров’я повинен бути достатньо портативним для переміщення в різні сегменти медичного обслуговування.
- Обладнання повинно бути достатньо розумним, щоб надсилати не лише повідомлення, а й повідомлення про помилки, попередження тощо.
- Система повинна мати можливість реєструвати всі події, щоб забезпечити ясність для кінцевих користувачів. Якщо вона не здатна цього зробити, система повинна також підштовхнути їх до бази даних для її зберігання.
- Повідомлення повинні відображатися, а обробка дисплея повинна здійснюватися належним чином на пристроях (комп’ютери / мобільні пристрої).
- Юзабіліті з точки зору відображення даних, обробки даних, виштовхування завдань із пристроїв слід ретельно перевірити.
=> Детальніше про загальне тестування зручності використання тут
# 2) Безпека IoT:
- Проблеми безпеки IoT: IoT є центром даних, коли всі підключені пристрої / системи працюють на основі доступних даних.
- Коли справа стосується потоку даних між пристроями, завжди є ймовірність доступу до даних або їх зчитування при передачі.
- З точки зору тестування нам потрібно перевірити, чи захищені / зашифровані дані при перенесенні з одного пристрою на інший.
- Де б не був UI, нам потрібно переконатися, що на ньому є захист паролем.
=> Докладніше про загальне тестування безпеки тут
# 3) Підключення:
- Оскільки це рішення для охорони здоров’я, зв’язок відіграє життєво важливу роль.
- Система повинна бути доступною постійно і повинна мати безперебійний зв’язок із зацікавленими сторонами.
- Що стосується підключення, дві речі дуже важливі для перевірки;
- Підключення, передача даних, отримання завдань від пристроїв повинні бути безперебійними, коли з’єднання вгору та працює.
- Інша умова - сценарій відключення зв'язку. Не має значення, наскільки надійною є система та мережа, є ймовірність того, що система перейде в автономний режим. Будучи тестером, ми також повинні перевірити офлайн-умови. Як тільки система буде недоступною в мережі, повинно бути попередження, яке може підказати лікарям, щоб вони могли почати контролювати стан здоров'я вручну, не залежно від системи, поки вона не запуститься. З іншого боку, в системі повинен бути механізм, який може зберігати всі дані в ній протягом автономного періоду. Як тільки система з’явиться в мережі, усі ці дані повинні розповсюджуватися. Втрата даних не повинна бути в будь-якому стані.
# 4) Продуктивність:
наскільки добре Ubuntu в порівнянні з Windows
- Коли ми говоримо про систему для домену охорони здоров’я, нам потрібно переконатися, що система є досить масштабованою для всієї лікарні.
- Коли проводиться тестування, це робиться для 2-10 пацієнтів одночасно, а дані поширюються на 10-20 пристроїв.
- Коли вся лікарня підключена і 180-200 пацієнтів підключені до системи, дані, що розповсюджуються, набагато більші, ніж перевірені дані.
- Як тестувальники, ми повинні переконатися, що система працює однаково, навіть якщо додані дані поширюються.
- Ми також повинні протестувати утиліту моніторингу, щоб відобразити використання системи, споживання енергії, температуру тощо.
# 5) Тестування сумісності:
- Дивлячись на складну архітектуру системи IoT, перевірка сумісності є обов’язковою.
- Тестування таких елементів, як кілька версій операційної системи, типи браузерів та відповідні версії, покоління пристроїв, режими зв'язку ( Для напр. Bluetooth 2.0, 3.0) необхідний для тестування сумісності IoT.
=> Докладніше про загальне тестування безпеки тут
# 6) Пілотне тестування:
- Що стосується IoT, пілотне тестування є обов'язковим.
- Тільки тестування в лабораторії гарантує, що продукт / система працює нормально. Але це може мати негативні наслідки при дії на умови / дії / сценарії реального часу.
- Під час пілотного тестування система стикається з обмеженою кількістю користувачів у реальному полі. Вони використовують додаток і дають відгуки про систему.
- Ці коментарі знадобляться, роблячи додаток достатньо надійним для розгортання виробництва.
# 7) Нормативне тестування:
- Ця система охорони здоров’я повинна пройти через численні контрольно-пропускні пункти з питань регулювання / дотримання вимог.
- Подумайте про сценарій, коли продукт проходить усі етапи тестування, але не вдається у остаточному контрольному списку відповідності (тестування, проведене регуляторним органом).
- Кращою практикою є отримання нормативних вимог на початку самого циклу розробки. Те саме повинно бути частиною контрольного списку тестування.
- Роблячи це, ми переконуємось, що продукт також сертифікований для регуляторного контрольного списку.
# 8) Тестування оновлення:
- IoT - це поєднання безлічі протоколів, пристроїв, операційних систем, прошивки, обладнання, мережевих рівнів тощо.
- Коли проводиться модернізація, будь то для системи або для будь-якого із задіяних елементів, як зазначено вище, слід провести ретельне регресійне тестування / прийняти стратегію для подолання проблем, пов’язаних з оновленням.
Проблеми тестування IoT
Проблеми, з якими стикається тестувальник в Інтернеті речей, такі:
# 1) Апаратно-програмне забезпечення Сітка
IoT - це архітектура, яка тісно поєднана між різними апаратними та програмними компонентами. Не тільки програмні програми роблять систему, а й апаратні, датчики, комунікаційні шлюзи тощо, також відіграють життєво важливу роль.
Тільки перевірка функціональності не допомагає повністю сертифікувати систему. Завжди існує залежність один від одного з точки зору навколишнього середовища, передачі даних тощо. Отже, це стає нудною роботою порівняно з тестуванням загальної системи (лише програмно-апаратний компонент).
# 2) Модуль взаємодії пристроїв
Оскільки це архітектура між різними наборами апаратного та програмного забезпечення, стає обов’язковим спілкування між собою в режимі реального часу / майже в реальному часі. Коли вони обидва інтегруються між собою, такі речі, як безпека, зворотна сумісність, проблеми з оновленням, стає проблемою для команди тестувань.
# 3) Тестування даних у режимі реального часу
Оскільки ми вже обговорювали, що пілотне тестування / регуляторне тестування є обов’язковим для такої системи, також стає дуже важко отримати такі дані.
Бути в команді випробувачів, отримати нормативні контрольно-пропускні пункти або розгорнути систему в пілотному проекті дуже важко. Цей крок стає ще жорсткішим, якщо система пов’язана із охороною здоров’я, як на нашому прикладі. Отже, це залишається великим випробуванням для команди тестувань.
# 4) Інтерфейс користувача
IoT поширюється на пристроях, що належать до будь-якої платформи (iOS, Android, Windows, linux). Зараз тестування цього на пристроях можна зробити, але протестувати на всіх можливих пристроях майже неможливо.
Ми не можемо опустити можливість доступу до інтерфейсу користувача з пристрою, яким ми не володіємо або не імітуємо. Це виклик, який важко подолати.
# 5) Доступність мережі
Мережеве підключення відіграє життєво важливу роль, оскільки IoT - це все, що стосується даних, які постійно передаються швидше. Архітектура IoT повинна бути перевірена на всіх типах мережевих підключень / швидкості.
Щоб перевірити це, віртуальні мережеві симулятори в основному використовуються для зміни навантаження мережі, підключення, стабільності тощо. Але дані / мережа в реальному часі - це завжди новий сценарій, і команда тестування не знає, де вузьке місце розвинеться в довгостроковій перспективі.
Інструменти тестування IoT
Існують різні інструменти, які використовуються під час тестування систем IoT.
Їх можна класифікувати на основі цілі та подати, як показано нижче:
# 1) Програмне забезпечення:
- Wireshark : Це програма з відкритим кодом, яка використовується для моніторингу трафіку в інтерфейсі, адрес хоста джерела / призначення тощо.
- Tcpdump : Це робить аналогічну роботу з Wireshark, крім того, що вона не має графічного інтерфейсу. Це утиліта на основі командного рядка, яка допомагає користувачеві відображати TCP / IP та інші пакети, які передаються або приймаються через мережу.
# 2) Обладнання:
- Ключ JTAG: Це схоже на налагоджувач у програмах для ПК. Це допомагає у налагодженні коду цільової платформи та поетапно показує змінну.
- Цифровий осцилограф для зберігання : Це використовується для перевірки різних подій за допомогою позначок часу, збоїв у живленні, перевірки цілісності сигналу.
- Програмне забезпечення, радіо : Це використовується для емуляції приймача та передавача для великого діапазону бездротових шлюзів.
Для навколишнього світу, що розвивається, IoT є зростаючим ринком і має безліч можливостей. Недалеко час, коли IoT стає важливим для випробувачів у світі розвитку.
Гаджет із підтримкою IoT, додаток для смарт-пристроїв та модуль зв'язку відіграють важливу роль у вивченні та оцінці ефективності та поведінки різних служб IoT.
Погана конструкція пристроїв та послуг із підтримкою IoT може перешкоджати нормальному функціонуванню програми та, в свою чергу, негативно впливати на взаємодію з кінцевими користувачами.
Узагальнити
Підхід до тестування IoT може бути різним залежно від задіяної системи / архітектури. Тестери повинні більше концентруватись на підході Test-As-A-User (TAAS), а не на тестуванні на основі вимог.
Ще одним важливим гравцем у тестуванні IoT є інтеграційне тестування. IoT є успішним, якщо план тестування інтеграції є достатньо точним і надійним, щоб уловити недоліки в системі.
Тестування IOT може бути важкою / складною роботою, але це також дуже цікаво для команди тестувань сертифікувати таку складну сітку пристроїв, протоколів, обладнання, операційних систем, прошивки тощо.
Про автора: Це гостьовий допис Subhasis. Він працює керівником команди з більш ніж 8-річним корпоративним досвідом, працюючи в ІТ-компаніях Fortune 500 у галузі забезпечення якості програмного забезпечення, розробки програмного забезпечення та досвіду тестування.
ОНОВЛЕННЯ: Ми додали корисну Інфографіку на тему IoT. Завдяки webeeky.com за те, що поділився цим з нами.
java зробити копію масиву
Опублікуйте свої запити / коментарі щодо IoT нижче.
Рекомендована література
- Найкращі засоби тестування програмного забезпечення 2021 р. (Засоби автоматизації тестування якості)
- Тестування SaaS: виклики, інструменти та підхід до тестування
- Тестування Праймера Завантажити електронну книгу
- 11 найкращих засобів автоматизації для тестування програм для Android (Інструменти для тестування додатків Android)
- Різниця між модульним тестуванням, інтеграційним тестуванням та функціональним тестуванням
- Автоматизоване тестування регресії: виклики, процес та кроки
- Тестування навантаження за допомогою підручників HP LoadRunner
- Проблеми, пов'язані з ручним та автоматичним тестуванням