internet things testing
Test di Internet of Things (IoT):
Quando una domanda come 'Quali sono le necessità di base della vita' viene lanciata alle persone, la maggior parte di loro risponderebbe: 'Cibo, riparo, abbigliamento'.
Ma questo era il caso prima di un secolo. Gli esseri umani si sono evoluti per sviluppare una manciata di necessità extra per vivere. Ci siamo evoluti per rendere la nostra vita più semplice, migliore, più facile.
domande dell'intervista per l'help desk it
Abbiamo smesso di usare interruttori per controllare le luci, abbiamo smesso di pagare ai chioschi per inviare pedaggi, abbiamo monitorato il nostro stato di salute in modo intelligente, monitorando i movimenti dei veicoli in modo più efficiente e molto nell'elenco.
Come lo facciamo adesso? In che modo è così diverso?
Dobbiamo prima capirli, dopodiché possiamo imparare come testarli.
Cosa imparerai:
- Cos'è l'Internet of Things (IoT)?
- Esempi di IoT
- Tecnologia utilizzata nell'IoT
- Testare l'IoT
- Sfide dei test IoT
- Strumenti di test IoT
- Riassumere
- Lettura consigliata
Cos'è l'Internet of Things (IoT)?
L'IoT è la connessione di veicoli, elettrodomestici, apparecchiature medicinali che utilizzano elettronica incorporata, microchip ecc. Per raccogliere e scambiare dati di diverso tipo è chiamato IoT. Questa tecnologia consente all'utente di controllare i dispositivi in remoto su una rete.
Esempi di IoT
Alcuni degli esempi di IoT nell'implementazione nella vita reale sono i seguenti:
# 1) Nella tecnologia indossabile:
I gadget indossabili come i cinturini Fitbit e gli orologi Apple si sincronizzano facilmente con i dispositivi mobili.
Questi aiutano ad acquisire le informazioni necessarie come la salute, il monitoraggio della frequenza cardiaca, l'attività del sonno, ecc. Questi aiutano anche a visualizzare i dati, le notifiche dai dispositivi mobili su di essi.
# 2) Infrastruttura e sviluppo:
Con l'uso di un'applicazione come CitySense , è più facile ottenere i dati di illuminazione esterna in tempo reale e, in base a questi, le luci stradali vengono accese o spente. Diverse sono anche le applicazioni per controllare la segnaletica stradale e la disponibilità di parcheggi in un sofisticato layout cittadino.
# 3) Assistenza sanitaria:
Numerose sono le applicazioni per monitorare le condizioni di salute dei pazienti.
Sulla base dei dati comparati, i servizi controllano il dosaggio del medicinale in momenti diversi della giornata. Esistono applicazioni come UroSense che possono monitorare i livelli di liquidi nel corpo del paziente e in base alle necessità possono avviare il trasferimento di liquidi. Allo stesso tempo, i dati possono essere trasmessi in modalità wireless a varie parti interessate.
Tecnologia utilizzata nell'IoT
Di seguito sono elencate le poche delle tecnologie più utilizzate nell'IoT:
- RFID Tag [Radio Frequency Code] e EPC [Electronic Product Code]
- NFC [Near Field Communication] viene utilizzato per abilitare le interazioni a due vie tra i dispositivi elettronici. Questo è fondamentalmente per gli smartphone e viene utilizzato principalmente per eseguire le transazioni di pagamento senza contatto.
- Bluetooth: Viene utilizzato quando le comunicazioni a corto raggio sono sufficienti per farla franca. Viene utilizzato principalmente nelle tecnologie indossabili.
- Z-Wave: Questa è una tecnologia di comunicazione RF a bassa potenza. Viene utilizzato principalmente per l'automazione domestica, il controllo delle lampade, ecc.
- Wifi: Questa è la scelta più comunemente utilizzata per IoT. Quando si è su una LAN, questo aiuta a trasferire file, dati e messaggi senza problemi.
Testare l'IoT
Facciamo un esempio di un sistema di monitoraggio sanitario medico in cui lo strumento monitora la salute, la frequenza cardiaca, i dettagli sull'assunzione di liquidi e invia un rapporto ai medici. Questi dati vengono registrati nel sistema e i dati storici possono essere visualizzati quando necessario.
crea un array di stringhe in java
I medici possono iniziare l'assunzione di farmaci, integratori di liquidi sulla base dei dati. Questo può essere attivato in remoto da qualsiasi dispositivo [computer o dispositivo mobile] a cui è connesso il dispositivo medico.
Ora per testare una tale architettura, dobbiamo passare attraverso più approcci di test come;
Approcci ai test IoT
# 1) Usabilità:
- Dobbiamo assicurarci l'usabilità di ciascuno dei dispositivi utilizzati qui.
- Il dispositivo di localizzazione medico sanitario utilizzato deve essere sufficientemente portatile da poter essere spostato in diversi segmenti del settore medico.
- L'apparecchiatura dovrebbe essere abbastanza intelligente da inviare non solo le notifiche ma anche i messaggi di errore, gli avvisi, ecc.
- Il sistema dovrebbe avere un'opzione per registrare tutti gli eventi per fornire chiarezza agli utenti finali. Se non è in grado di farlo, il sistema dovrebbe inviare anche quelli a un database per archiviarlo.
- Le notifiche dovrebbero essere visualizzate e la gestione del display dovrebbe essere eseguita correttamente nei dispositivi [computer / dispositivi mobili].
- L'usabilità in termini di visualizzazione dei dati, elaborazione dei dati, push delle attività di lavoro dai dispositivi dovrebbe essere testata accuratamente.
=> Ulteriori informazioni sui test generali di usabilità Qui
# 2) Sicurezza IoT:
- Le sfide della sicurezza dell'IoT: l'IoT è incentrato sui dati in cui tutti i dispositivi / sistemi collegati funzionano in base ai dati disponibili.
- Quando si tratta del flusso di dati tra i dispositivi, c'è sempre la possibilità che i dati possano essere consultati o letti quando vengono trasferiti.
- Dal punto di vista dei test, dobbiamo verificare se i dati sono protetti / crittografati quando vengono trasferiti da un dispositivo all'altro.
- Ovunque sia presente un'interfaccia utente, dobbiamo assicurarci che sia presente una protezione tramite password.
=> Ulteriori informazioni sui test di sicurezza generali Qui
# 3) Connettività:
- Trattandosi di una soluzione sanitaria, la connettività gioca un ruolo fondamentale.
- Il sistema deve essere sempre disponibile e deve avere una connettività continua con le parti interessate.
- Per quanto riguarda la connettività, due cose sono molto importanti da testare;
- La connettività, il trasferimento di dati e la ricezione di attività di lavoro dai dispositivi dovrebbero essere fluidi quando la connessione è ATTIVA e in esecuzione.
- L'altra condizione è lo scenario di interruzione della connessione. Non importa quanto siano robusti il sistema e la rete, ci sono possibilità che il sistema vada offline. Essendo un tester, dovremmo testare anche le condizioni offline. Una volta che il sistema non è disponibile sulla rete, deve esserci un avviso che può avvisare i medici in modo che possano iniziare a monitorare le condizioni di salute manualmente, indipendentemente dal sistema fino a quando non è attivo. D'altra parte, deve esserci un meccanismo nel sistema in grado di memorizzare tutti i dati al suo interno durante il periodo offline. Una volta che il sistema è online, tutti i dati dovrebbero essere propagati. La perdita di dati non dovrebbe essere presente in nessuna condizione.
# 4) Prestazioni:
- Quando parliamo di un sistema per un settore sanitario, dobbiamo assicurarci che il sistema sia sufficientemente scalabile per l'intero ospedale.
- Quando il test viene eseguito, viene eseguito per 2-10 pazienti alla volta ei dati vengono propagati a 10-20 dispositivi.
- Quando l'intero ospedale è connesso e 180-200 pazienti sono collegati al sistema, i dati che vengono propagati sono molto più grandi dei dati testati.
- Come tester, dobbiamo assicurarci che il sistema funzioni allo stesso modo anche se i dati aggiunti vengono propagati.
- Dovremmo anche testare l'utilità di monitoraggio per visualizzare l'utilizzo del sistema, l'utilizzo di energia, la temperatura, ecc.
# 5) Test di compatibilità:
- Guardando la complessa architettura di un sistema IoT, i test di compatibilità sono un must.
- Elementi di test come versioni multiple del sistema operativo, tipi di browser e rispettive versioni, generazioni di dispositivi, modalità di comunicazione [ Ad esempio Bluetooth 2.0, 3.0] è necessario per i test di compatibilità IoT.
=> Ulteriori informazioni sui test di sicurezza generali Qui
# 6) Test pilota:
- Per quanto riguarda l'IoT, i test pilota sono un must.
- Solo i test in laboratorio assicurano che il prodotto / sistema funzioni correttamente. Tuttavia, questo potrebbe ritorcersi contro se esposto a condizioni / passaggi / scenari in tempo reale.
- Durante i test pilota, il sistema è esposto a un numero limitato di utenti sul campo reale. Usano l'applicazione e danno feedback sul sistema.
- Questi commenti sono utili per rendere l'applicazione sufficientemente robusta per la distribuzione in produzione.
# 7) Test normativi:
- Trattandosi di un sistema sanitario deve passare attraverso più punti di controllo normativo / di conformità.
- Pensa a uno scenario in cui il prodotto supera tutti i passaggi del test ma non supera l'elenco di controllo di conformità finale [test eseguito dall'ente di regolamentazione].
- È una pratica migliore ottenere i requisiti normativi all'inizio del ciclo di sviluppo stesso. Lo stesso dovrebbe essere inserito nella lista di controllo del test.
- In questo modo, ci assicuriamo che il prodotto sia certificato anche per l'elenco di controllo normativo.
# 8) Test di aggiornamento:
- IoT è una combinazione di più protocolli, dispositivi, sistemi operativi, firmware, hardware, livelli di rete ecc.
- Quando viene eseguito un aggiornamento, sia per il sistema che per uno qualsiasi degli elementi coinvolti come indicato sopra, è necessario eseguire un test di regressione approfondito / adottare una strategia per superare i problemi relativi all'aggiornamento.
Sfide dei test IoT
Le sfide che un tester deve affrontare nell'IoT sono le seguenti:
# 1) Hardware-Software Maglia
L'IoT è un'architettura, che è strettamente accoppiata tra vari componenti hardware e software. Non sono solo le applicazioni software a rendere il sistema, ma anche quelle hardware, sensori, gateway di comunicazione ecc. Giocano un ruolo fondamentale.
Solo i test di funzionalità non aiutano a certificare completamente il sistema. C'è sempre una dipendenza l'uno dall'altro in termini di ambiente, trasferimento di dati, ecc. Quindi, diventa un lavoro noioso rispetto al test di un sistema generico [solo componente software / hardware].
# 2) Modulo di interazione del dispositivo
Poiché si tratta di un'architettura tra diversi set di hardware e software, diventa obbligatorio che parlino tra loro in tempo reale / quasi in tempo reale. Quando entrambi si integrano tra loro, cose come la sicurezza, la compatibilità con le versioni precedenti, i problemi di aggiornamento diventano una sfida per il team di test.
# 3) Test dei dati in tempo reale
Poiché abbiamo discusso in precedenza che un test pilota / test normativo è obbligatorio per un sistema come questo, diventa anche molto difficile ottenere tali dati.
Essere nel team di test, ottenere punti di controllo normativi o implementare il sistema nel pilota è molto difficile. Il passaggio diventa ancora più difficile se il sistema è legato alla Sanità come da nostro esempio. Quindi, questa rimane una grande sfida per il team di test.
# 4) UI
L'IoT è distribuito su dispositivi appartenenti a ogni piattaforma [iOS, Android, Windows, linux]. Ora, è possibile testarlo sui dispositivi, ma testarlo su tutti i dispositivi possibili è quasi impossibile.
Non possiamo omettere la possibilità di accedere all'interfaccia utente da un dispositivo che non possediamo o simuliamo. Questa è una sfida difficile da superare.
# 5) Disponibilità di rete
La connessione di rete gioca un ruolo fondamentale poiché l'IoT riguarda i dati che vengono comunicati sempre a velocità più elevate. L'architettura IoT deve essere testata in tutti i tipi di connettività / velocità di rete.
Per testarlo, i simulatori di rete virtuale vengono utilizzati principalmente per variare il carico di rete, la connettività, la stabilità, ecc. Tuttavia, i dati / la rete in tempo reale sono sempre uno scenario nuovo e il team di test non sa dove si svilupperebbe il collo di bottiglia a lungo termine.
Strumenti di test IoT
Esistono vari strumenti che vengono utilizzati durante il test dei sistemi IoT.
Possono essere classificati in base al target e sono riportati di seguito:
# 1) Software:
miglior software per copiare dvd su disco rigido
- Wireshark : Questa è un'applicazione open source utilizzata per monitorare il traffico nell'interfaccia, indirizzi host di origine / destinazione ecc.
- Tcpdump : Questo fa un lavoro simile a quello di Wireshark tranne per il fatto che non ha una GUI. Questa è un'utilità basata sulla riga di comando che aiuta l'utente a visualizzare il TCP / IP e altri pacchetti che vengono trasmessi o ricevuti su una rete.
# 2) Hardware:
- Dongle JTAG: È simile a un debugger nelle applicazioni per PC. Questo aiuta nel debug del codice della piattaforma di destinazione e mostra la variabile passo dopo passo.
- Oscilloscopio a memoria digitale : Viene utilizzato per controllare vari eventi con timestamp, anomalie nell'alimentazione, controllo dell'integrità del segnale.
- Software Defined Radio : Viene utilizzato per emulare ricevitore e trasmettitore per un'ampia gamma di gateway wireless.
Per il mondo in via di sviluppo che ci circonda, l'IoT è un mercato in crescita e offre molte opportunità. Non è lontano il momento in cui l'IoT diventa essenziale per la sopravvivenza dei tester nel mondo dello sviluppo.
Il gadget abilitato per IoT, l'applicazione per dispositivi intelligenti e il modulo di comunicazione svolgono un ruolo fondamentale nello studio e nella valutazione delle prestazioni e del comportamento di vari servizi IoT.
Una cattiva progettazione dei dispositivi e dei servizi abilitati per IoT può ostacolare il corretto funzionamento dell'applicazione e, a sua volta, influire negativamente sull'esperienza dell'utente finale.
Riassumere
L'approccio ai test IoT può essere diverso in base al sistema / architettura coinvolti. I tester dovrebbero concentrarsi maggiormente sull'approccio Test-As-A-User [TAAS] piuttosto che sui test basati sui requisiti.
Un altro attore importante nei test IoT è il test di integrazione. L'IoT ha successo se il piano di test di integrazione è accurato e sufficientemente robusto da rilevare i difetti nel sistema.
Il test IOT può essere un lavoro duro / impegnativo ma è anche molto eccitante per il team di test certificare una rete così complicata di dispositivi, protocolli, hardware, sistemi operativi, firmware ecc.
Circa l'autore: Questo è un guest post di Subhasis. Lavora come team lead con oltre 8 anni di esperienza aziendale lavorando per aziende IT Fortune 500 nel campo della garanzia della qualità del software, dello sviluppo del software e dell'esperienza di test.
AGGIORNARE: Abbiamo aggiunto un'utile infografica sull'argomento IoT. Grazie a webeeky.com per aver condiviso questo con noi.
Pubblica le tue domande / commenti IoT qui sotto.
Lettura consigliata
- Migliori strumenti di test del software 2021 [Strumenti di automazione del test QA]
- Test SaaS: sfide, strumenti e approccio al test
- Download dell'eBook Testing Primer
- 11 migliori strumenti di automazione per testare applicazioni Android (strumenti di test per app Android)
- Le differenze tra test unitari, test di integrazione e test funzionali
- Test di regressione automatizzato: sfide, processo e passaggi
- Test di carico con HP LoadRunner Tutorial
- Sfide dei test manuali e di automazione