Découvrez comment intégrer facilement l'analyse statique, les tests unitaires et d'autres méthodes de test de logiciels C et C++ dans votre pipeline CI/CD. Inscrivez-vous pour la démo >>

L'Internet des objets: appareils et services

Par Parasoft

26 juin 2017

4  min lire


Une perspective des services sur l'IoT est nécessaire

Bien que «choses» soit le terme utilisé dans l'Internet des objets (IoT), la réalité est que les consommateurs et les entreprises ne s'intéressent pas uniquement aux choses ou aux appareils. La vraie promesse de l'IoT réside dans les données que ces appareils produisent et les actions qu'ils entreprennent. Même le plus petit capteur fournit un service utile, et bien que les développeurs d'appareils embarqués aient tendance à ne pas penser en termes de services, il est important de changer cet état d'esprit afin de répondre aux exigences fonctionnelles, de qualité, de performance et de sécurité exigées dans le système entièrement connecté. monde de l'IoT.


L'IoT est constitué de services

Malgré le nom qui est resté dans l'IoT, les «choses» elles-mêmes ne sont pas la vedette de la série. La collecte d'informations, le contrôle de l'infrastructure clé et la détection du monde réel que ces appareils fournissent sont plus importants pour l'IoT.

Les consommateurs ne s'intéressent pas uniquement à la température d'une pièce de leur maison ou au flux vidéo d'une seule caméra. Ils sont intéressés par le niveau suivant - s'assurer que leur système de sécurité détecte les mouvements dans toute la maison ou que leur climatisation maintient une température confortable. Les entreprises ne sont pas intéressées par la sortie d'un seul contrôleur logique dans une usine, mais plutôt par le débit de production d'une chaîne de montage. Il s'agit d'un changement de perspective important car il oblige les développeurs d'appareils à mieux apprécier le contexte de leur produit et ses cas d'utilisation. 

Croyez-le ou non, votre appareil fait probablement partie d'un service

Les appareils embarqués individuels peuvent ne pas être considérés comme faisant partie d'un service; cependant, la connectivité dans des systèmes plus grands signifie qu'ils devraient l'être. Par exemple, dans une automobile, le seul rôle de l'unité de commande du moteur (ECU) est d'assurer une combustion et des émissions appropriées dans le moteur, mais la voiture suit la consommation de carburant, utilise l'ECU et la signale à un serveur central via un connexion sans fil. Ces données de kilométrage sont ensuite utilisées pour planifier des itinéraires et estimer les coûts d'exploitation. Tout à coup, l'ECU est un nœud feuille critique dans un processus de prise de décision commerciale.

L'adoption de cette perspective élargit le contexte d'un appareil individuel et son champ de fonctionnement, affectant l'approche de la conception globale du système, alors que nous passons de la pensée centrée sur l'appareil à celle centrée sur le service:

  • Agglomération: L'Internet des objets est constitué de trop de «choses» pour que chacun ait de la valeur en soi. Les appareils doivent être organisés ensemble afin de fournir des informations utiles à un niveau supérieur. Par exemple, un système CVC n'a pas besoin de signaler la température dans chaque pièce. Les capteurs individuels relèvent d'un système de contrôle de supervision (comme les systèmes SCADA dans le contrôle industriel) qui prend des décisions locales, qui à leur tour sont signalées aux systèmes de niveau supérieur qui peuvent être hors site.
  • Auto-surveillance: Les processus décisionnels commerciaux de plus haut niveau seraient submergés par une mer de données si chaque capteur individuel rapportait tout, tout le temps. Dans notre exemple HVAC, un système de contrôle de supervision localisé peut maintenir la température du bâtiment en fonction d'une quantité définie par un processus centralisé (par exemple, en fonction des tarifs météorologiques et d'électricité). Les systèmes au niveau de l'entreprise s'appuieraient donc sur un service fourni par le système HVAC, bâtiment par bâtiment, qui rapporterait des informations critiques telles que la consommation d'énergie.
  • Interchangeabilité: Au fil du temps, les services fournis par ce conglomérat d'appareils deviennent plus précieux que les appareils eux-mêmes. Les capteurs et contrôleurs individuels peuvent être remplacés en gros par un autre produit si les objectifs commerciaux globaux sont toujours atteints. Si la qualité de service reste la même, ou mieux, le matériel est interchangeable. À première vue, cela peut sembler une mauvaise chose pour les fabricants d'appareils, et pour certains, c'est certainement le cas. Mais les entreprises intelligentes qui comprennent l'importance des services et se font concurrence sur la qualité de ces services deviennent les leaders du marché.

Pourquoi les tests basés sur les services sont essentiels au succès de l'IoT

Une fois que vous avez adopté une approche centrée sur les services, il est logique que la conception, la mise en œuvre et les tests emboîtent le pas. Conscient que le service apporte une valeur commerciale, il devient essentiel de s'assurer que les appareils répondent aux exigences à cet égard. De toute évidence, tester le fonctionnement fonctionnel au niveau de l'unité, du sous-système et du système reste important, mais l'élargissement de la portée des tests offre des avantages immédiats.

Au lieu de voir la qualité du système en termes de satisfaction des exigences individuelles des appareils, la portée est élargie pour prendre en compte les qualité des services fourni. Dans l'exemple HVAC, un nouveau capteur de température peut être plus léger, moins coûteux, avec une longue durée de vie de la batterie et une excellente portée sans fil. Mais son fonctionnement avec le système de contrôle à l'échelle du bâtiment est tout aussi important que toutes les nouvelles fonctionnalités.

Les tests au niveau du service garantissent Prérogatives non fonctionnelles sont remplies. Par exemple, les performances et la fiabilité sont difficiles à évaluer au niveau de l'appareil ou lors des tests unitaires logiciels. Les tests basés sur les services peuvent simuler l'environnement opérationnel d'un appareil pour fournir des charges réalistes. Dans l'exemple HVAC, le nouveau capteur de température peut être testé avec des taux de demande variables pour voir s'il répond aux exigences de performance.

Les cyberattaques contre les systèmes IoT proviendront du réseau lui-même, en attaquant les API exposées. Les tests basés sur les services peuvent créer des environnements simulés pour des sécurité des tests, soit par fuzzing (entrées de données aléatoires et erronées), soit par des attaques par déni de service. Un nouveau capteur de température dans l'exemple HVAC peut fonctionner correctement avec les demandes attendues mais tomber en panne en cas de surcharge. Un attaquant pourrait être en mesure d'exploiter cela pour surcharger le système et provoquer une panne.


Conclusion

Réaliser que l'IoT concerne vraiment les services, se traduit par de meilleurs appareils embarqués différenciés dans le nouveau monde connecté dans lequel ils opèrent. Les fabricants qui se concentrent sur les services sont moins susceptibles d'être échangés avec du matériel équivalent. Afin d'atteindre les performances, la qualité de service et la sécurité requises par les systèmes IoT, les tests basés sur les services sont essentiels.


Par Parasoft

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.

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.