Exploration spatiale : les logiciels sont en première ligne
L'industrie spatiale a connu des grandes transformations au cours de ces dix dernières années. Désormais, ce ne sont plus les gouvernements qui mènent l'exploration spatiale, mais plutôt des entreprises privées et des entrepreneurs milliardaires qui se sont donné pour mission de repousser les frontières du possible.
Ce phénomène est à l'origine d'une croissance explosive qui se traduit par une véritable ruée vers l'espace. Les missions spatiales sont de plus en plus courantes, notamment grâce à l'entreprise SpaceX qui, à elle seule, effectuait plus d'un voyage par semaine en 2022.
L'innovation spatiale semble sans limite, de la construction de fusée réutilisable dernière génération à la mise à l'échelle des satellites de communication en orbite basse, en passant par l'exploration des planètes les plus lointaines du système solaire. Cependant, pour atteindre ces objectifs, il est vital de garantir que la technologie fonctionnera comme prévu une fois dans le vide spatial.
L'environnement hostile qu'est l'espace est un véritable défi pour la technologie. Qu'il s'agisse de la survie à la violence du décollage, du changement de températures brusque, de l'impact des radiations en orbite ou encore des problèmes de communication dus au volume des débris dans l'espace, aucun obstacle ne doit être pris à la légère. Par conséquent, les hardware et logiciels doivent être suffisamment robustes pour résister à ces conditions extrêmes et continuer à fonctionner comme prévu.
L'espace et les logiciels
Les équipements et les technologies spatiales sont extrêmement complexes et dépendent de plus en plus des logiciels. Par exemple, dans les années 70, les satellites n'intégraient que peu ou pas de logiciels alors que les mégaconstellation de satellites actuellement déployées s'appuient sur des services pilotés par des logiciels pour communiquer.
Il est essentiel de veiller à ce que ces technologies soient testées rigoureusement dans tous les scénarios possibles afin qu'elles fonctionnent de manière fiable. Compte tenu du grand volume de codes, les tests manuels ne sont pas viables pour diverses raisons, notamment en raison de la complexité, du coût et du temps qu'il faut y consacrer.
Ainsi, le seul moyen de s'assurer que la technologie est apte pour l'espace est de déployer une automatisation logicielle pilotée par l'IA. Les tests automatisés intelligents permettent de fournir des informations sur l'état de préparation au lancement et à la mise en orbite.
Lire aussi : Apple Intelligence, une épreuve de patience
La capacité de tester rapidement et minutieusement tous les scénarios potentiels est essentielle et l'intelligence artificielle aide les équipes à identifier où les problèmes sont les plus susceptibles de survenir et d'y remédier avant que le lancement n'ait lieu. Cette approche permet de s'assurer que les logiciels et la technologie produisent les résultats escomptés.
Tester l'expérience des utilisateurs
Les tests de conformité du code ne sont pas suffisants, quel que soit le contexte, et c'est encore plus vrai dans l'environnement hostile qu'est l'espace. En ayant recours aux tests automatisés pour tester à travers les yeux de l'utilisateur (en tenant compte de l'expérience utilisateur, des fonctionnalités, de la performance et de la facilité d'utilisation) les tests reflètent exactement ce que fait l'utilisateur.
Par exemple, il est vital d'évaluer la manière dont les systèmes fonctionnent ensemble et de comprendre les vols spatiaux habités. Il faut comprendre la console de l'opérateur humain afin de s'assurer que ce qui est montré aux opérateurs du centre de contrôle de la mission correspond bien à ce qui est envoyé et à ce qui est reçu par l'équipage.
Quand il y a des humains à bord, le système interactif doit fournir des informations fiables, précises et faciles à interpréter visuellement. Par exemple, les données peuvent être correctes mais si un volet de l'interface utilisateur masque des informations ou fait apparaître des valeurs tronquées, il faut y remédier avant que le vaisseau ne soit en orbite.
L'autre avantage des tests basés sur l'IA est qu'ils accélèrent le rythme des avancées technologiques, ce qui crucial dans la course vers l'espace où le fait d'être premier sur le marché peut être déterminant sur le plan financier. En outre, les tests peuvent facilement s'adapter à l'évolution de la technologie et à l'intégration d'une plus grande complexité. Cela est crucial dans un domaine qui évolue très rapidement. Par conséquent, les entreprises et les agences gouvernementales adoptent de plus en plus les tests automatisés pour s'assurer que les logiciels fonctionnent.
La NASA illustre parfaitement cette tendance : elle a en effet adopté une plateforme d'automatisation intelligente pour vérifier que le logiciel du vaisseau spatial Orion fonctionne comme prévu dans différents scénarios critiques. Pour contrôler l'état d'avancement du vol spatial et donner des instructions à l'équipage, le cockpit est équipé d'écrans numériques basés sur des logiciels qui remplacent l'approche traditionnelle consistant à accumuler de grandes quantités de documents papier.
Les équipes chargées de tester le vaisseau Orion font appel à l'automatisation pour évaluer dynamiquement l'expérience utilisateur du logiciel afin de s'assurer qu'il est fiable et qu'il fonctionne comme prévu. Il s'agit par exemple de vérifier que le cockpit numérique fournit des informations précises aux astronautes qui pilotent Orion.
On obtient ainsi une méthode nettement plus efficace et plus complète de test de l'ensemble du cycle de vie. La mission d'Orion étant d'amener les hommes plus loin que jamais dans l'espace, elle constitue le test ultime pour les logiciels. Les essais se poursuivront lorsque Orion sera en orbite afin de surveiller l'état et la capacité de contrôle du vaisseau spatial en cas de situation d'urgence qui entraînerait une perte de communication avec le centre de contrôle sur Terre.
La ruée vers l'espace et les innovations industrielles n'en sont qu'à leurs débuts. Par conséquent, la demande en matière de test et la nécessité de tester rigoureusement les systèmes critiques pour s'assurer qu'ils sont performants et sûrs continueront de monter en flèche.
Sur le même thème
Voir tous les articles Open source