Date de la publication : 28 octobre 2025

Lecture : 6 min

GitLab transforme les cycles de test des systèmes embarqués

Découvrez comment les environnements de cycle de vie gérés rationalisent et automatisent les tests virtuels grâce à un retour rapide sans multiplication des environnements ni augmentation des coûts.

Les équipes de développement des systèmes embarqués connaissent bien ce cycle : elles écrivent du code, attendent des jours ou des semaines pour le tester sur un banc de test matériel, découvrent des bogues, les corrigent, puis attendent à nouveau. Les environnements de test virtuels promettent un retour plus rapide, mais la plupart des implémentations créent de nouveaux problèmes tels que la multiplication des environnements et l'augmentation des coûts.

Les environnements de cycle de vie gérés de GitLab permettent de résoudre ces défis liés aux tests virtuels. Grâce à l'automatisation des environnements virtuels, GitLab accélère les cycles de développement des systèmes embarqués sans configuration complexe ni augmentation des coûts.

→ Essayez GitLab Ultimate et GitLab Duo Enterprise gratuitement.

Défis posés par les tests virtuels

Les environnements de test virtuels sont des configurations matérielles simulées qui reproduisent le comportement des systèmes embarqués dans des conditions réelles. De plus, ils offrent la possibilité de réduire les goulots d'étranglement matériels. Les équipes peuvent tester un micrologiciel sur des processeurs simulés, exécuter des tests Model-in-the-Loop (MIL) dans MATLAB/Simulink ou vérifier le logiciel sur des systèmes embarqués virtuels sans attendre l'accès au matériel physique.

Cependant, les équipes implémentent souvent les environnements virtuels au moyen de deux approches courantes, qui entraînent des défis non viables.

Première approche : environnements de cycle de vie des pipelines

Les environnements de cycle de vie des pipelines recréent l'ensemble de la configuration de test pour chaque exécution CI/CD. Lorsque des modifications de code déclenchent votre pipeline CI/CD, le système provisionne l'infrastructure, installe les simulations logicielles et configure tout depuis le début avant d'exécuter les tests.

Cette approche fonctionne pour des scénarios simples, mais perd en efficacité à mesure que la complexité augmente. Prenons par exemple les tests Software-in-the-Loop (SIL) dans un environnement virtuel complexe. Chaque exécution de pipeline nécessite une recréation complète de l'environnement avec provisionnement des processeurs virtuels, installations des chaînes d'outils et configurations cibles. Ces processus peuvent prendre un temps considérable.

De plus, à mesure que les systèmes embarqués nécessitent des configurations matérielles virtuelles plus sophistiquées, les coûts de provisionnement augmentent rapidement.

Pour éviter les coûts liés aux configurations et les délais, de nombreuses équipes se tournent vers des environnements avec une longue durée de vie qui persistent entre les exécutions de tests, mais ces derniers présentent des inconvénients.

Seconde approche : environnements avec une longue durée de vie

Les environnements avec une longue durée de vie sont persistants pour éviter une reconstruction constante. Les équipes de développement commencent par demander ces environnements aux équipes informatiques ou DevOps. Ils doivent ensuite attendre leur approbation, puis ont besoin que quelqu'un provisionne manuellement l'infrastructure. Ces environnements sont liés à des développeurs ou équipes plutôt qu'à des modifications de code spécifiques, et ils prennent en charge le travail de développement continu sur plusieurs projets.

Bien que cette approche élimine les coûts de reconstruction, elle multiplie les environnements, qui s'accumulent sans date de fin claire. Les coûts d'infrastructure augmentent à mesure que les environnements consomment des ressources.

Les environnements avec une longue durée de vie souffrent également d'une dégradation de configuration : les environnements conservent des paramètres, des données en cache ou des versions logicielles de tests précédents qui peuvent affecter les résultats ultérieurs. Un test qui devrait échouer finit par réussir en raison des données persistantes issues des tests précédents.

En fin de compte, la gestion des environnements avec une longue durée de vie est un processus manuel qui ralentit la vélocité de développement et augmente les coûts opérationnels.

GitLab propose une troisième approche : les « environnements de cycle de vie gérés », qui offrent les avantages des deux premières approches, sans les inconvénients.

Solution : les environnements de cycle de vie gérés

Les environnements de cycle de vie gérés de GitLab associent les configurations de test virtuelles aux merge requests (MR) plutôt qu'aux exécutions de pipeline ou aux équipes de développement. Ils peuvent être considérés comme des « environnements de test MR gérés ». Lorsque vous créez une merge request pour une nouvelle fonctionnalité, GitLab orchestre automatiquement le provisionnement des environnements de test virtuels nécessaires, qui sont maintenus tout au long du processus de développement de la fonctionnalité.

Avantages clés

  • Environnements persistants sans reconstruction : le même environnement virtuel gère plusieurs exécutions de pipeline pendant que vous itérez sur votre fonctionnalité. Que vous exécutiez des tests MIL dans MATLAB/Simulink ou des tests SIL sur des processeurs embarqués spécialisés, l'environnement reste configuré et prêt.

  • Nettoyage automatique : lorsque vous fusionnez votre fonctionnalité et supprimez la branche, GitLab déclenche automatiquement le nettoyage de l'environnement pour éliminer la multiplication des environnements.

  • Source unique de vérité : la merge request enregistre tous les résultats de compilation, les résultats des tests et les métadonnées des environnements en un seul endroit. Les membres de l'équipe peuvent suivre les progrès et collaborer sans jongler entre différents outils ou feuilles de calcul.

Regardez cette vidéo pour découvrir comment les environnements de cycle de vie gérés fonctionnent en pratique :

GitLab automatise l'ensemble du workflow de test. Chaque fois que vous exécutez des tests de micrologiciel, GitLab orchestre les tests dans l'environnement virtuel adéquat, enregistre les résultats et fournit une visibilité complète sur chaque exécution de pipeline. Cette approche transforme les tests virtuels complexes d'un processus manuel sujet aux erreurs en workflows automatisés et fiables.

Résultat : les équipes profitent d'environnements réutilisables sans coûts incontrôlés. Elles augmentent l'efficacité et maintiennent des configurations de test propres et isolées pour chaque fonctionnalité.

Découvrez une démonstration des environnements de cycle de vie gérés avec un test de micrologiciel sur du matériel virtuel :

Impact métier

Les environnements de cycle de vie gérés de GitLab entraînent des améliorations mesurables dans les workflows de développement de systèmes embarqués. Les équipes qui exécutent des tests MIL dans MATLAB/Simulink et des tests SIL sur des processeurs spécialisés comme Infineon AURIX ou les systèmes BlackBerry QNX n'ont plus à gérer des reconstructions constantes d'environnements ou la multiplication incontrôlée des environnements. Ces configurations de test virtuelles complexes persistent tout au long du développement des fonctionnalités et exécutent un nettoyage automatique une fois terminées. Leurs avantages sont nombreux :

  • Cycles de développement produit plus rapides
  • Délai de mise sur le marché plus court
  • Coûts d'infrastructure réduits
  • Assurance qualité supérieure

→ Essayez GitLab Ultimate et GitLab Duo Enterprise gratuitement.

Votre avis nous intéresse

Cet article de blog vous a plu ou vous avez des questions ou des commentaires ? Partagez vos réflexions en créant un sujet dans le forum de la communauté GitLab.
Share your feedback

Plus de 50 % des entreprises du classement Fortune 100 font confiance à GitLab

Commencez à livrer des logiciels de meilleurs qualité plus rapidement

Découvrez comment la plateforme DevSecOps intelligente

peut aider votre équipe.