Découvrez comment la solution Parasoft Continuous Quality permet de contrôler et de gérer les environnements de test pour fournir des logiciels de haute qualité en toute confiance. Inscrivez-vous pour la démo >>
Même le plus petit appareil IoT vit dans un environnement complexe, qui peut ne pas être entièrement compris au moment du développement. En fait, nous avons déjà vu les problèmes de sécurité liés aux appareils connectés à Internet pour la première fois. Dans un précédent poster, nous avons discuté des avantages de l'orientation des 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 de test physique réaliste est difficile, et même une fois terminé, il devient le principal goulot d'étranglement dans les tests de 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.
Une étude ont constaté que 80% des applications IoT sont ne pas testé pour les failles de sécurité. Le groupe Barr a constaté que 56% des développeurs d'appareils embarqués ne révisez pas le code source pour les vulnérabilités de sécurité et 37% n'ont pas de norme de codage écrite. Ce ne sont pas des statistiques encourageantes et il est clair que les fabricants d'appareils IoT doivent prendre la qualité, la sûreté et la sécurité plus au sérieux. L'automatisation des tests est une étape importante pour s'assurer 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 ou négligés. Mais c'est une erreur coûteuse de laisser vos clients (et attaquants) tester la sécurité de votre appareil IoT pour vous.
Un vrai laboratoire de test nécessite la manifestation physique la plus proche de l'environnement dans lequel un appareil IoT est prévu de 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 peut-être inexistantes). Utilisez la virtualisation de services sophistiquée avec d'autres outils d'automatisation de test clés:
L'écosystème IoT de l'informatique de périphérie est illustré ci-dessous dans la figure 1, illustrant un environnement typique dans lequel des appareils IoT intégrés sont déployés. Les capteurs et les appareils de contrôle communiquent des informations à Edge, qui est une série d'appareils ou d'applications qui peuvent recevoir des informations et utiliser la logique pour communiquer avec un appareil ou jusqu'au cloud. Le cloud a alors une logique de plus haut niveau qui lui permet d'agir sur ces informations. Le cloud est un ensemble de services - microservices, connexions à des bases de données, logique supplémentaire ou services tiers - un réseau complexe de blocs fonctionnels, illustré ci-dessous à droite.
Figure 1: Un écosystème IoT typique dans lequel les appareils embarqués seraient déployés
Lorsqu'il est temps de tester dans l'écosystème IoT, des tests sont nécessaires à plusieurs niveaux. Pour tester la nouvelle fonctionnalité introduite dans la passerelle, par exemple, la validation que la passerelle peut recevoir des informations des capteurs et peut communiquer cela de la manière dont vous avez construit la logique métier.
Afin de valider toute cette complexité, Parasoft Virtualiser (qui simule les dépendances requises) et Parasoft SOAtest (qui pilote les tests) sont utilisés pour simuler ces entrées. Ces outils fournissent des simulations d'appels réalistes depuis les appareils sur le réseau (qu'il s'agisse de protocoles tels que REST / HTTP ou de protocoles IoT populaires tels que CoAP, XMPP ou MQTT), et testent que l'appareil testé (la passerelle dans cet exemple) communique de manière appropriée avec les services cloud, en validant les réponses qui reviennent de SOAtest. La figure 2 ci-dessous montre un exemple de la façon dont un environnement de laboratoire virtuel peut être créé pour les périphériques de périphérie testés.
S'il existe des moyens externes de communiquer des informations à cette passerelle, ces appels peuvent également être simulés. Parasoft Virtualize est conçu pour stabiliser l'environnement de test, pour créer des réponses prévisibles aux demandes qui exploitent les données de test de SOAtest, en testant entièrement la passerelle et les services.
Enfin, les services de haut niveau peuvent communiquer vers la périphérie, puis vers d'autres capteurs et acteurs externes, et il peut être important de savoir que le flux de vos entrées se fraye un chemin à travers l'environnement vers le back-end. systèmes. Parasoft Virtualize est utilisé pour simuler la réception de ces appels jusqu'au bord (jusqu'aux appareils IoT), puis relayer 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.
Figure 2: Le rôle des outils Virtualize et SOAtest de Parasoft créent un environnement de laboratoire virtuel pour un périphérique de périphérie en cours de test
Les environnements de test normaux sont chers, probablement plus que ce que la plupart des responsables de développement prévoient. Une étude de 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 pour approvisionner le laboratoire était de 18 jours et 12 à 14 jours supplémentaires ont été consacrés à la configuration. Ces laboratoires prennent beaucoup de temps et d'argent à mettre en place, et même après cela, ils agissent comme un goulot d'étranglement pour les tests en raison d'un accès limité. En outre, 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.
In un autre post, nous avons résumé les avantages de la virtualisation des services à l'amélioration de l'accès aux appareils de test avec un meilleur contrôle du comportement des dépendances virtualisées, ce qui réduit les coûts et augmente la vitesse des tests. De la même manière, décomposons les avantages du laboratoire de test virtuel IoT:
Compte tenu de l'état du 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 considérablement les coûts d'approvisionnement et de configuration tout en augmentant considérablement la qualité des tests effectués.
Les outils de test de logiciels automatisés de pointe de Parasoft prennent en charge l'ensemble du processus de développement logiciel, depuis le moment où le développeur écrit la première ligne de code jusqu'aux tests unitaires et fonctionnels, jusqu'aux tests de performance et de sécurité, en exploitant des environnements de test simulés en cours de route.