Internet des Objets : 5 problèmes importants au niveau des tests

Selon la firme Gartner, plus de 6.4 milliards d’objets connectés ont été utilisés l’an dernier. Ce marché est en forte croissance et le nombre total d’objets connectés pourrait atteindre le 20 milliards d’ici 2021. Tester ces objets, qui pourraient transformer le domaine de la santé, des finances, les maisons et bien plus encore, est un des défis les plus importants pour les entreprises dans les prochaines années. Ceci étant dit, grâce à l’automatisation des essais, aux méthodes de développement Agile et DevOps et à des stratégies de tests complètes, intelligentes et modernes, il est possible dès aujourd’hui de produire des objets connectés qui répondront aux attentes élevées des usagers.

Par où commencer? Voici 5 problèmes importants au niveau des tests pour les objets connectés.

Problème #1 : Beaucoup de plateformes et de versions de logiciels à tester

Chaque objet connecté possède des composantes matérielles ainsi qu’un logiciel permettant à l’objet d’accomplir plusieurs tâches. D’autres logiciels peuvent aussi interagir avec l’objet connecté pour, par exemple, échanger des données avec celui-ci.

Pour chaque objet connecté, il existe généralement un très grand nombre de combinaisons de composantes matérielles et de versions de logiciels. Il est donc parfois très difficile de tester toutes ces combinaisons manuellement. Par contre, il est possible de récolter des données provenant des objets connectés pour mieux comprendre les combinaisons qui sont les plus utilisées par les usagers. Ces informations peuvent guider vos stratégies de tests, vous aidant a définir un sous-ensemble de combinaisons à tester. En testant les combinaisons les plus fréquentes, puis en testant une sélection de combinaisons moins probables ou moins populaires, vous serez en mesure d’obtenir une bonne couverture de tests.

Problème #2 : Beaucoup de protocoles différents

Pour communiquer et échanger des données, les objets connectés utilisent des protocoles de communications tels que Message Queuing Telemetry Transport (MQTT), Extensible Messaging and Presence Protocol (XMPP) et Constrained Application Protocol (CoAP). Chaque protocole possède différentes forces et faiblesses, mais MQTT est généralement le protocole le plus utilisé. Une API qui utilise JavaScript Object Notation (JSON) ou XML est souvent également présente au sein de l’objet pour faciliter le travail des développeurs.

Les spécialistes AQ peuvent utiliser les essais automatisés en combinaison avec ces protocoles et API pour garantir une qualité logicielle élevée. La stratégie de tests peut dépendre des protocoles ou API utilisés. Par contre, la plateforme d’automatisation des essais choisie doit être compatible avec ces protocoles et API pour que cette approche soit valable.

Problème #3 : La sécurité et l’Internet des Objets

Plusieurs chercheurs ont démontré que les objets connectés posaient des risques importants au niveau de la sécurité. Les équipes de développement doivent donc tester en profondeur et tenter d’identifier des failles au niveau de la sécurité. Au minimum, un objet connecté doit nécessiter un mot de passe de bonne qualité (plusieurs caractères, une combinaison de lettres et de chiffres, etc). Les usagers devraient aussi être encouragés à modifier ce mot de passe dès que l’objet est activé pour la première fois.

Problème #4 : Les tests et les services externes

Les objets connectés utilisent parfois des services externes développés par d’autres entreprises. Si ces services externes changent au fil du temps, il est possible que ces modifications entrainent des erreurs pour les objets connectés. Un processus de tests automatisés peut détecter très rapidement si les services externes ne retournent par les données ou les valeurs attendues. Il est également possible de virtualiser le service externe afin de permettre aux spécialistes AQ de tester les objets connectés même si le service externe est temporairement inactif.

Problème #5 : Les données et le réseau

Les objets connectés requièrent des communications rapides et fréquentes. L’état du réseau peut donc avoir un impact important sur la performance d’un objet. Une connexion internet lente ou instable ou un réseau Wi-Fi surchargé peuvent causer des problèmes pour les objets connectés. Les objets doivent donc être testés dans diverses conditions de réseau afin de s’assurer qu’ils répondent correctement sans perdre de donnés.

Beaucoup d’équipes choisissent de virtualiser les réseaux afin de simuler différentes conditions au niveau du réseau et la façon dont les objets connectés répondent à celles-ci. Les spécialistes AQ devraient aussi garder un œil sur l’usage du CPU et de la mémoire lors de ces tests, qui pourrait permettre d’identifier des fuites au niveau de la mémoire qui peuvent aussi empêcher un objet connecté de répondre correctement.

L’internet des Objets : défis et opportunités

Quoique les stratégies de tests pour les objets connectés représentent un défi complexe et important, les opportunités au niveau des affaires dans ce secteur justifient grandement les efforts qui devront être déployés. De plus, des améliorations au niveau du réseau et des outils de tests devraient faciliter le processus de développement pour les objets connectés dans les années à venir.

 

Image Team Askida

Team Askida

L'équipe d'Askida // Team Askida