Webinaire en vedette : Tests d'API améliorés par l'IA : une approche de test sans code | Voir le séminaire

Test rentable des appareils IoT avec des laboratoires virtuels

Portrait de Grigori Trofimov, architecte de solutions senior chez Parasoft
19 septembre 2023
5 min lire

Il est difficile de créer un environnement de laboratoire de test physique réaliste, car cela peut constituer la principale contrainte lors des tests de systèmes. Les laboratoires virtuels éliminent cette contrainte et offrent de nouveaux avantages pour les tests d'appareils IoT basés sur les services. Lisez cet article pour en savoir plus.

Même le plus petit appareil Internet des objets (IoT) vit dans un environnement complexe qui n’est peut-être pas entièrement compris au moment de son développement. Il existe des risques de sécurité associés aux appareils connectés à Internet pour la première fois et des avantages liés à l'orientation vers les services pour la conception, le développement et les tests. Dans cet article, nous allons faire passer les tests basés sur les services et la virtualisation des services à l'étape suivante : les laboratoires virtuels.

Construire un environnement de laboratoire d’essais physiques réaliste est difficile. Même une fois terminé, cela devient le principal goulot d’étranglement des tests du système. Les laboratoires virtuels suppriment ce goulot d'étranglement tout en offrant de nouveaux avantages aux tests d'appareils IoT basés sur les services.

De nombreux appareils IoT ne sont pas prêts pour Primetime

Une  étude a constaté que 80 % des applications IoT ne sont pas testées pour détecter les failles de sécurité. Le groupe Barr a constaté que 56 % des développeurs de périphériques embarqués n'examinent pas le code source pour détecter les failles de sécurité et 37 % n'ont pas de norme de codage écrite. Ce ne sont pas des statistiques encourageantes. Il est clair que les fabricants d’appareils IoT doivent prendre plus au sérieux la qualité, la sûreté et la sécurité.

L'automatisation des tests est une étape importante pour garantir que les tests sont effectués de manière plus rigoureuse, cohérente et approfondie. Les tests, en particulier pour les vulnérabilités de sécurité, sont souvent considérés comme trop coûteux et complexes et sont donc précipités, voire complètement négligés. Mais c'est une erreur coûteuse que de laisser vos clients (et vos attaquants) testez la sécurité de votre appareil IoT .

Les ingrédients du laboratoire virtuel IoT

Un véritable laboratoire de test nécessite la manifestation physique la plus proche de l’environnement dans lequel un appareil IoT est censé fonctionner. Mais même dans le laboratoire le plus sophistiqué, il est difficile de s’adapter à un environnement réaliste. Un laboratoire virtuel résout ce problème. Les laboratoires virtuels évoluent au-delà du besoin de dépendances matérielles difficiles à trouver ou inexistantes. Combinez des laboratoires virtuels avec des outils clés d'automatisation des tests :

  • Virtualisation des services simule toutes les dépendances nécessaires à l'appareil testé afin d'effectuer des tests complets du système. Cela inclut toutes les connexions et protocoles utilisés par l'appareil avec des réponses réalistes à la communication. Par exemple, la virtualisation des services peut simuler un backend de serveur d'entreprise avec lequel un appareil IoT communique pour fournir des lectures périodiques de capteurs. De même, la virtualisation peut contrôler le dispositif IoT de manière réaliste.
  • Test de service et d'API fournir un moyen de piloter l'appareil testé de manière à garantir que les services et les API fournis fonctionnent parfaitement. Ces tests peuvent être manipulés via la plateforme d'automatisation pour effectuer des tests de performances et de sécurité selon les besoins.
  • Surveillance du temps d'exécution détecte les erreurs en temps réel sur l'appareil testé et capture les informations de trace importantes. Par exemple, les fuites de mémoire, qui peuvent passer inaperçues dans un produit fini, peuvent être détectées et résolues rapidement et à moindre coût.
  • Gestion et analyse du laboratoire de test assurer un contrôle global des laboratoires virtuels. Une fois virtualisée, l'ensemble de la configuration du laboratoire peut être répliqué selon les besoins et les tests peuvent être automatisés et répétés. Les analyses fournissent le résumé nécessaire des activités et des résultats.

L’écosystème IoT Edge Computing ci-dessous décrit un environnement typique dans lequel des appareils IoT intégrés sont déployés. Les capteurs et les dispositifs de contrôle communiquent des informations à la périphérie, qui est une série d'appareils ou d'applications pouvant recevoir des informations et utiliser une logique pour communiquer en retour avec un appareil ou vers le cloud.

Le cloud dispose alors d’une logique de niveau supérieur qui lui permet d’agir sur ces informations. Le cloud est un ensemble de services tels que des microservices, des connexions à des bases de données, une logique supplémentaire ou des services tiers. Il s'agit d'un réseau complexe de blocs fonctionnels, illustré ci-dessous à droite.

Graphique illustrant le flux de déploiement d'un écosystème IoT, de l'appareil à l'informatique de pointe en passant par le cloud.
Un écosystème IoT typique dans lequel des appareils embarqués seraient déployés.

Le rôle de Virtualize & SOAtest de Parasoft dans la création d'un environnement de laboratoire virtuel

Pour valider la complexité des environnements IoT, Parasoft Virtualiser simule les dépendances requises et Parasoft SOAtest pilote des tests qui émulent ces entrées. Ces outils permettent d'effectuer des scénarios de test réalistes sur tous les appareils du réseau, couvrant des protocoles génériques tels que REST/HTTP et des protocoles IoT populaires tels que CoAP, XMPP et MQTT.

De plus, Parasoft vérifie que l'appareil testé, qui dans cet exemple est la passerelle, communique efficacement avec les services cloud en validant les réponses reçues de SOAtest. L'image ci-dessous illustre comment un environnement de laboratoire virtuel peut être établi pour tester les appareils de pointe.

S'il existe des moyens externes de communiquer des informations vers cette passerelle, ces appels peuvent également être simulés. Parasoft Virtualize est conçu pour stabiliser l'environnement de test afin de créer des réponses prévisibles aux demandes qui exploitent les données de test de SOAtest, testant entièrement la passerelle et les services. 

Enfin, les services de niveau supérieur pourraient communiquer vers la périphérie et vers d’autres capteurs et acteurs externes. Il peut être important de savoir que le flux provenant de vos entrées traverse l’environnement jusqu’aux systèmes backend. Parasoft Virtualize simule la réception de ces appels jusqu'à la périphérie (jusqu'aux appareils IoT), puis relaie ces informations à SOAtest pour confirmer que l'appel a effectué l'aller-retour et s'est comporté comme prévu dans l'écosystème IoT. La combinaison de Parasoft Virtualize et SOAtest offre un contrôle total pour tester l'ensemble de l'environnement, même dans les complexités d'un écosystème IoT.

Image montrant où se trouvent SOAtest et Virtualize dans un environnement de laboratoire virtuel pour un périphérique Edge en cours de test. SOAtest dans la passerelle se connectant à Virtualize, qui se connecte au cloud.
Le rôle des outils Virtualize et SOAtest de Parasoft crée un environnement de laboratoire virtuel pour un appareil périphérique sous test.

Améliorez la qualité et la sécurité tout en réduisant le temps, les coûts et les risques

Les environnements de test normaux sont coûteux, probablement plus que ne le prévoient la plupart des responsables du développement. Une étude par Recherche voke a constaté que l'investissement moyen dans un laboratoire de pré-production était de 12 millions de dollars. En termes de temps, le temps moyen nécessaire à la mise en service du laboratoire était de 18 jours et 12 à 14 jours supplémentaires ont été consacrés à la configuration.

La mise en place de ces laboratoires prend beaucoup de temps et d’argent. Après cela, ils constituent un goulot d’étranglement pour les tests en raison d’un accès limité. De plus, les coûts opérationnels quotidiens des laboratoires physiques sont importants. Dans la plupart des cas, la duplication d’un laboratoire physique pour augmenter le débit des tests est d’un coût prohibitif.

Décomposons les avantages du laboratoire de test virtuel IoT.

  • Améliorez la qualité grâce à des tests meilleurs et plus complets. Les tests basés sur les services garantissent que les cas d'utilisation clés sont testés et perfectionnés. Les tests de performances automatisés garantissent la stabilité et la fiabilité sous de lourdes charges. De plus, la surveillance de l'exécution garantit que les bogues difficiles à trouver sont détectés et tracés.
  • Améliorez la sécurité avec des tests d'intrusion automatisés qui simulent des données mal formées. Les tests de charge peuvent simuler des attaques par déni de service et la surveillance de l'exécution peut détecter les vulnérabilités de sécurité. La répétabilité des tests garantit que chaque itération, correctif ou version est testé exactement de la même manière. De plus, le développement et la manipulation des tests, comme l'amélioration et la création de nouveaux tests, sont simplifiés.
  • Réduisez le temps, les risques et les coûts des tests en supprimant le besoin de dépendances coûteuses requises pour des tests complets de systèmes. L'automatisation offre une répétabilité et une cohérence que les tests manuels ne peuvent pas offrir. Il fournit également des tests meilleurs et plus complets. Les laboratoires virtuels réduisent considérablement le temps de mise à disposition nécessaire aux configurations de laboratoire physique, ce qui a un impact sur la durée totale des tests.

Conclusion

Compte tenu de l’état de développement des appareils IoT, des modifications doivent être apportées aux processus de développement et de test. L'automatisation des tests est une approche éprouvée pour réduire les coûts et les risques. La prochaine grande étape dans l'amélioration de la qualité et de la sécurité des appareils IoT consiste à utiliser des laboratoires virtuels qui combinent la virtualisation des services, les tests basés sur les services, la gestion des laboratoires virtuels et la surveillance de l'exécution. Cela réduit les coûts de provisionnement et de configuration tout en augmentant la qualité des tests effectués.

Stratégies de test de bout en bout pour l'intégrité de l'IoT