Skip to main content

Article Category

Article available in the folowing languages:

Une nouvelle plateforme qui permet de tester des systèmes logiciels distribués complexes

Un nouvel outil devrait permettre non seulement de maîtriser la complexité des tests sur les systèmes distribués à grande échelle, mais également d’en réduire les coûts sans sacrifier leur qualité.

Économie numérique

Le potentiel des systèmes logiciels distribués à grande échelle est immense. En partageant les composants logiciels entre plusieurs ordinateurs, ces systèmes promettent d’être à la fois tolérants aux pannes, souples et rentables. Ils contribueraient ainsi à améliorer considérablement l’efficacité et les performances d’un large éventail de tâches informatiques. Pourtant, malgré ce fort potentiel, l’offre de ces grands systèmes interconnectés reste bien inférieure à la demande. En effet, pour de nombreux développeurs, leur coût de validation est trop élevé et implique des processus de test complexes. «Chaque fois que des développeurs souhaitent valider des caractéristiques non fonctionnelles, ils doivent commencer par créer des architectures de test complexes, ce qui implique de personnaliser les mécanismes d’orchestration sur le cloud et de gérer l’évolutivité de ces tests», explique Francisco Gortázar Bellas, professeur à l’Université Rey Juan Carlos. «Et comme si cela n’était pas déjà assez compliqué, la nécessité de reproduire les conditions opérationnelles du monde réel ajoute encore une strate de complexité.» Dans le but de simplifier et de rationaliser le processus de validation, le projet ELASTEST, financé par l’UE, s’est attaché à fournir aux équipes de développement les outils dont elles ont besoin pour livrer rapidement des logiciels sans défaut.

Réduire et simplifier

L’outil ElasTest a été conçu non seulement pour dominer la complexité des tests des systèmes distribués à grande échelle, mais également pour en réduire le coût tout en en maintenant la qualité. Pour parvenir à ces fins, les chercheurs se sont concentrés sur trois objectifs principaux: réduire le délai de commercialisation, raccourcir le temps de localisation des bogues et simplifier le processus de test. En ce qui concerne la réduction du délai de commercialisation, grâce à des API REST bien documentées, ElasTest fournit un certain nombre de services «prêts à l’emploi». Ces services peuvent être fournis individuellement ou selon des combinaisons diverses. Tous apportent des outils à la demande qui peuvent être exploités à partir du code de test. Il s’agit notamment de navigateurs, de dispositifs Internet des objets (IdO), de contrôles de sécurité, ou de surveillance et d’analyse des données. Pour raccourcir le temps nécessaire à la localisation d’un bogue, le système fournit à l’utilisateur des visualisations et des outils d’analyse. «Grâce à l’analyse des journaux, aux rapports centrés sur les tâches et à la comparaison des journaux, cette fonction aide l’utilisateur à trouver la proverbiale aiguille dans la botte de foin», explique Francisco Gortázar. ElasTest contribue également à simplifier le processus de mise en place et d’exécution des tests. Pour ce faire, il utilise un langage spécifique au domaine, conforme à l’un des modèles de serveur d’intégration continue les plus populaires sur le marché: le serveur Jenkins. «Dans un monde où le cloud devient une marchandise et où les services sont distribués par nature, un outil comme ElasTest peut faire une énorme différence lors de l’évaluation d’applications complexes», ajoute Francisco Gortázar. L’outil a été validé dans différents domaines d’utilisation, notamment le web, la 5G, la communication en temps réel et l’IdO.

Une attention spécifique

Bien que le projet ait dû procéder à plusieurs ajustements en cours de route, comme la fourniture de solutions pour les tests automatiques et manuels, il n’a jamais dérogé à son objectif principal: intégrer différentes composantes en utilisant les meilleures pratiques en matière d’intégration et de livraison continues. «C’est ce qui nous a permis de progresser à un rythme constant et, en même temps, de minimiser les risques», explique Francisco Gortázar. «C’est le secret de notre succès, un succès bien documenté grâce à nos importantes activités de diffusion.» Ces activités de diffusion incluent notamment la publication de 15 versions du logiciel ElasTest et une série de 34 articles ou présentations dans des revues ou au cours de différentes conférences, y compris la prestigieuse Conférence internationale sur le génie logiciel (ICSE). Le projet a également participé à certaines des plus importantes conférences dans le domaine du test logiciel organisées par l’industrie.

Mots‑clés

ELASTEST, serveur d’intégration continue Jenkins, systèmes de logiciels distribués, logiciel, informatique, Internet des Objets, IdO, 5G

Découvrir d’autres articles du même domaine d’application