Tests logiciels pour appareils IoT : défis clés et solutions
« Susan Harris est seule dans la maison quand, soudain, les portes se verrouillent, les fenêtres claquent et le téléphone ne fonctionne plus. Susan est piégée par un intrus — mais ce n'est pas un voyou ordinaire. Au lieu de cela, l'intrus est un ordinateur nommé Proteus, un cerveau artificiel qui a appris à raisonner. Et à terroriser… »
Le film Demon Seed de 1977, une histoire sur une IA devenue incontrôlable, a peut-être été un peu mélodramatique sur le danger que l'intelligence artificielle pose à l'homme, mais il avait quelques insights intelligents sur l'automatisation domestique et ses dysfonctionnements potentiels.
De la santé et l'automatisation domestique au transport et à l'industrie pétrolière et gazière, l'Internet des objets (IoT) se développe rapidement. Les chercheurs de Garner Inc ont prédit qu'en 2020, il y aura 20,4 milliards d'appareils IoT connectés à Internet.
Alors que vous regardez des films sur votre montre connectée, demandez à votre maison de chauffer à une température préférée, et négociez peut-être ce qui constitue du « brûlé » avec votre grille-pain, pensez aux testeurs. Les hommes et femmes travaillant derrière des portes closes pour s'assurer que ces appareils fonctionnent réellement comme prévu.
Alors, quels sont les défis auxquels les testeurs logiciels font face lors des tests d'appareils IoT ?
Premièrement, il y a l'évidence — est-ce sûr ?
Sécurité
Une rapide recherche sur l'IoT apportera une pléthore d'articles discutant des préoccupations de sécurité avec l'IoT. Cependant, au lieu de s'inquiéter que votre bouilloire vous espionne, il y a la préoccupation très réelle d'ajouter de nouveaux appareils ou vulnérables à vos réseaux de confiance. Avec un ordinateur portable ou un logiciel, un logiciel peut être installé pour protéger les appareils, mais pour les appareils IoT, le support est mince. De nombreux appareils ont également des noms d'utilisateur et mots de passe par défaut que l'utilisateur moyen ne change jamais, les rendant vulnérables.
Les testeurs doivent également considérer l'effet plus large que les appareils IoT peuvent avoir sur la sécurité d'Internet. Il suffit de regarder l'attaque du botnet Mirai qui a utilisé des objets tels que des caméras numériques et des enregistreurs vidéo pour causer une perturbation massive à de grandes parties de l'Internet américain, faisant tomber des sites tels que Netflix, Twitter, CNN et Reddit.
Pour un testeur, des problèmes tels que le flux de données entre appareils, le chiffrement des données et l'intégrité du logiciel de test (si automatisation) sont toutes des préoccupations clés.
Parfois, les testeurs doivent simplement compter sur le fait que les utilisateurs protégeront leurs réseaux. Cependant, avec des routeurs moins chers contenant souvent moins de mesures de sécurité, se trouve un autre problème pour les testeurs IoT, celui de reproduire l'environnement dans lequel l'article fonctionnera.
Réplication des environnements
Lorsqu'on teste un site web, il est facile pour les testeurs de faire passer les pages au moulin. Ouvrir la page sur les navigateurs populaires, l'exécuter sur ordinateurs portables, tablettes et smartphones et vous avez à peu près testé comment il sera utilisé par 90 % des utilisateurs.
Cependant, avec les appareils IoT, reproduire l'environnement d'un utilisateur est bien plus difficile. L'appareil sera-t-il utilisé à la maison ou au travail ? La vitesse Internet sera-t-elle rapide ou lente ? Combien d'appareils inconnus sont également connectés à ce réseau ? L'appareil devra-t-il quitter et rejoindre le réseau ?
En oubliant les aspects techniques, quel type de mobilier l'appareil reposera-t-il ? Les HomePods d'Apple ont été documentés comme laissant des anneaux blancs sur des tables en bois traitées ou vernies. Bien que ce ne soit pas strictement un problème pour le modeste testeur logiciel, cela montre à quel point la grande variété d'environnements rend le travail de reproduction des conditions pour les testeurs difficile.
Pour cette raison, les testeurs doivent s'assurer qu'ils ont une solide compréhension du produit et essayer d'englober autant de scénarios différents que possible dans leurs tests, y compris la façon dont l'appareil fonctionnera avec d'autres.
Comment cela fonctionne avec d'autres appareils
Les tests de compatibilité sont toujours un casse-tête pour les testeurs, mais dans le monde IoT, cela devient une myriade de défis. Prenez simplement les interactions apparemment infinies qui peuvent être créées sur les appareils qui supportent IFTTT — il y a simplement trop de coups sur l'échiquier pour analyser et tester chaque appareil pour chaque version dans chaque environnement.
La seule façon pour les testeurs de commencer à aborder cette tâche est de se concentrer sur les systèmes d'exploitation et méthodes de communication les plus populaires (ex: bluetooth), sur les appareils les plus populaires, afin que les efforts aient la portée la plus large, avant de passer à des éléments plus de niche.
Coûts
Un autre défi est peut-être l'un des plus évidents — le coût. Tester quelque chose de plus simple comme un site web est raisonnablement rapide et bon marché. Mais tester des appareils IoT dans différents environnements avec différentes intégrations peut être très coûteux. Le temps est un gros facteur, en raison des testeurs devant couvrir tant de bases, mais un autre problème est le besoin possible de logiciels de test spécialisés. Quelques études ont laissé entendre que la combinaison d'un manque de développeurs ne revoyant pas leur code pour les failles de sécurité, et d'un manque de tests approfondis des applications IoT signifie que les tests deviennent très complexes. Et avec la complexité, vient le coût.
Alimentation et sauvegarde
Contrairement à la solution IT la plus courante de l'éteindre et le rallumer, certains appareils IoT peuvent avoir des difficultés en cas de perte soudaine d'alimentation. Les testeurs doivent s'assurer qu'ils testent comment un appareil change après une perte d'alimentation — en particulier pour les articles dans les secteurs de la santé ou industriels.
Cela deviendra moins un problème à mesure que l'alimentation sans fil continue de croître, mais jusque-là, les variables doivent être considérées. Considérez une alarme d'intrusion intelligente ou une caméra de sécurité, si le système échoue en raison d'un bug ou d'une chute d'alimentation ou de connexion, ils sont essentiellement inutiles.
Comment ou même si un appareil effectue une sauvegarde est un autre problème, surtout quand on considère comment un logiciel nouveau ou mis à jour répondra à des données plus anciennes.
Mises à jour
Le firmware est une partie intégrante de nombreux appareils IoT, et il n'y a rien que les développeurs aiment plus que de pousser de nouvelles mises à jour. Mais pour le testeur, les mises à jour peuvent apporter avec elles le mal de tête monumental des bugs. Si un bug manqué passe dans un ordinateur standard, le problème peut généralement être simplement testé et corrigé avant qu'il n'y ait trop de dégâts. Mais si un bug passe dans un appareil IoT, il peut avoir des répercussions physiologiques bien plus grandes.
Prenez le problème du thermostat Nest en janvier 2016. Une mise à jour logicielle le mois précédent avait entraîné un bug drainant la durée de vie de la batterie de certains thermostats, causant la désactivation du système. Finalement, l'entreprise a déployé une correction en neuf étapes pour les utilisateurs, mais des tests appropriés et approfondis auraient pu épargner les frissons de l'utilisateur et la réputation de l'entreprise.
Alors que nous ne sommes pas en danger que nos maisons deviennent l'IA démoniaque Proteus ; si les testeurs logiciels ne prennent pas les précautions appropriées, ils risquent d'être laissés dans le froid.
Technologie de l'Internet des objets
- Pourquoi les appareils IoT Wi-Fi posent une menace de sécurité croissante
- Adoption de l'IoT : pourquoi l'engouement rate sa cible
- Comment les technologies narrowband alimentent la révolution IoT
- Poser les fondations du succès de l'IoT en entreprise
- Mises à jour des appareils IoT : surmonter les défis de distribution dans les lieux de travail modernes
- Les 3 principaux défis de la préparation des données IoT pour le succès industriel
- 5 défis majeurs auxquels l'Internet des objets fait face aujourd'hui
- Les 5 défis fondamentaux de l'IoT : Plongée dans les 5C – Partie 1
- Comment l'IoT a révolutionné la santé pendant la pandémie de Covid-19