Quali sono e tipologie di test per Internet of Things (IoT)

Quali sono e tipologie di test per Internet of Things (IoT)

Rapporti recenti affermano che molte persone sono ancora “spaventate” dall’Internet of Things (IoT). Alcuni di loro temono di essere esclusi dalla loro casa intelligente, prevedono che le auto a guida autonoma causerebbero vittime e non si fiderebbero dei dispositivi IoT per somministrare i loro farmaci.

In effetti, i glitch nell’IoT sono pericolosi e comporterebbero gravi conseguenze. Per prevenirli, il test delle applicazioni IoT è indispensabile. Nell’articolo presentiamo le basi e la tassonomia delle app IoT e discutiamo aspetti di test particolari, come i tipi di test più impegnativi.

Cos’è l’Internet of Things? 

L’Internet of Things è definito come la connettività di oggetti e dispositivi virtuali e fisici che apre nuove dimensioni come città intelligenti, case intelligenti, ecc. Dotato di mini-computer, oggetti intelligenti e luoghi possono acquisire informazioni sul loro ambiente e comunicare con Internet e altre cose intelligenti.

Strutturalmente, le applicazioni IoT sono composte da diversi livelli. Spieghiamo cosa intendiamo, usando l’esempio di una lampadina a LED intelligente.

Livello 1: entità fisica

L’elemento fisico, una lampadina a LED, in questo caso, fornisce il beneficio fisico diretto all’utente. 

Livello 2: sensore / attuatore

L’entità fisica è dotata di un mini-computer che include la tecnologia dei sensori e gli elementi di azionamento. Il sensore integrato nella lampadina misura continuamente la presenza di persone nella stanza, mentre l’attuatore accende automaticamente la luce quando viene rilevata la presenza umana.

Livello 3: connettività

La tecnologia dei sensori e l’attuatore possono essere collegati tramite un modulo radio integrato; la lampadina può anche trasmettere il suo stato al proprietario in qualsiasi parte del mondo.

Livello 4: analisi

I dati dei sensori vengono raccolti, archiviati, controllati e classificati. Per quanto riguarda la lampadina, vengono registrate le ore di funzionamento e vengono individuati i modelli di movimento.

Livello 5: servizio digitale

Infine, tutti i livelli menzionati sono confezionati in una forma adatta, ad esempio come applicazione mobile. 

Principali tipi di test nell’IoT

Le principali aree di applicazione dell’Internet of Things sono focalizzate sulla sanità, le smart city, l’ambiente, i settori commerciale, industriale e infrastrutturale.

D’altra canto, sono diversi gli aspetti che caratterizzano le applicazioni IoT. Prima di tutto, coinvolgono una combinazione di hardware, sensori, connettori, gateway e software applicativo in un unico sistema. Inoltre, forniscono analisi del flusso in tempo reale e elaborazione di eventi complessi, nonché supporto di dati complessi. Ovviamente, questo rende il test delle applicazioni IoT (IoT testing) un compito piuttosto impegnativo. Diamo dunque uno sguardo più da vicino ad alcuni dei tipi di test richiesti.

Quali sono e tipologie di test per Internet of Things (IoT)

Test di interoperabilità

Il test di interoperabilità verifica se il software è compatibile con diverse piattaforme e fornisce funzionalità cross-use. 

Data l’immaturità della tecnologia IoT, la sua mancanza di interoperabilità comporta numerose sfide. 

Pertanto, potrebbero verificarsi problemi di integrazione con dispositivi di produttori diversi, acquistati in momenti diversi o gestiti da sistemi operativi diversi. Inoltre, abbiamo a che fare con diversi connettori, framework e standard per il protocollo di comunicazione. Per non parlare della generale mancanza di programmabilità. 

Aggiungendo alle sfide esistenti, aziende come Google e Apple stanno creando uno stack verticale di prodotti IoT invece di un’infrastruttura orizzontale per differenziare i loro marchi, rendendo così l’Internet delle cose più frammentato.

Tuttavia, un test di interoperabilità adeguato è fondamentale per garantire il funzionamento senza interruzioni del sistema IoT. Copre i seguenti scenari:

  • Sistemi di collaudo realizzati da diversi produttori;
  • Testare l’intero sistema e sottosistemi;
  • Test di dispositivi IoT con conformità WLAN e LTE.

Esistono diverse caratteristiche distintive dei test di interoperabilità. Per cominciare, si tratta di test funzionali nel senso che dovrebbero riflettere il comportamento dell’utente. In secondo luogo, i confini del test sono definiti dall’attrezzatura sottoposta a prova (EUT) e dall’attrezzatura qualificata (QE). L’EUT e il QE devono provenire da fornitori e linee di prodotti diversi.

Test delle prestazioni

I test delle prestazioni garantiscono che i dispositivi IoT possano funzionare perfettamente senza interruzioni generando continuamente un’enorme quantità di dati. È un processo complesso che copre la comunicazione di rete, il calcolo interno, l’analisi dei tempi, i test di carico, nonché il volume dei dati, la velocità, la varietà, l’accuratezza e la scalabilità.

Testare la stabilità del sistema, la sensibilità ai problemi di connettività di rete, ai dispositivi, ai sistemi operativi e ai carichi elevati è fondamentale poiché questi fattori influenzano l’esperienza dell’utente.  

Il test delle prestazioni IoT differisce dall’approccio tradizionale. Comprende quanto segue:

  1. Prestazioni su più componenti ed endpoint, come dispositivi mobili, distributori di farmaci, fotocamere, sensori;
  2. Il tempo di richiesta-risposta tra il dispositivo IoT e il server; 
  3. Protocolli IoT, come AllJoyn, CoAP, IoTivity, MQTT, XMPP, Z-Wave, Zigbee;
  4. Gateway, router;
  5. Server in sede e cloud;
  6. Applicazioni in esecuzione in diversi browser / sistemi operativi;
  7. Servizi API REST; 
  8. Prestazioni dell’interfaccia utente, prestazioni della rete durante un carico elevato, prestazioni per un volume di dati elevato.

La cosa importante da considerare è scegliere lo strumento di test giusto. Deve supportare il protocollo appropriato su cui è costruito il sistema IoT, gestire la gestione dei dati di test, fornire integrazione con vari moduli e supportare scenari di simulazione di rete.

Dato che le applicazioni IoT vengono spesso sviluppate per un dispositivo specifico, il team del prodotto dovrebbe fornire agli ingegneri del controllo qualità i dispositivi nativi specifici per assicurarsi che non vengano persi bug. Si dovrebbe tenere presente che il test su dispositivi o emulatori simili non garantisce gli stessi risultati sul dispositivo nativo.

Test di sicurezza

La sicurezza rimane la massima priorità nel processo di test IoT poiché tutti i dispositivi hanno i propri indirizzi IP e possono trasferire dati sulla rete. La diffusione dell’IoT è stata un vantaggio per gli hacker che possono facilmente prendere di mira questi dispositivi. Pertanto, è fondamentale testare tutti i dispositivi per eliminare le vulnerabilità. I test di sicurezza IoT si concentrano sulla protezione dei dati, l’identità e l’autenticazione del dispositivo, la crittografia / decrittografia dei dati e l’archiviazione dei dati nel cloud.

Esistono infine tre strategie di test implementate per verificare la convalida dei requisiti di sicurezza IoT:

  1. Il test funzionale di sicurezza copre la conformità con le specifiche funzionali per garantire che le funzioni di sicurezza siano implementate correttamente.
  2. Il test delle vulnerabilità fa uso di modelli di sicurezza per analizzare le vulnerabilità basate sul rischio e identificare possibili minacce.
  3. Il test di robustezza della sicurezza mira a esaminare i messaggi non validi per gestire comportamenti imprevisti del sistema nel caso in cui si verifichino attacchi alla sicurezza.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *