Logo Parasoft Rechercher

Découvrez GoogleTest certifié TÜV avec Agentic AI pour les tests C/C++ !
Plus de détails »

Découvrez le test Parasoft C/C++ en action !

Démarrez votre essai gratuit de 14 jours.

Commencer

WEBINAIRE

Indispensables dans le développement de logiciels CI/CD pour Embedded

Il a été prouvé qu’une culture collaborative au sein des organisations rationalise le processus de développement de produits. Il accorde de la valeur à une communication efficace, à l'intégration et au travail d'équipe interfonctionnel pour permettre une livraison continue et rapide de produits fiables qui sont également sûrs et sécurisés.

Cette session explore comment les équipes de développement de logiciels embarqués peuvent adopter des flux de travail modernes et automatisés pour l'intégration continue, les tests, le déploiement et la surveillance. Elle met en lumière l'intérêt des méthodologies Agile, DevOps et des pipelines CI/CD , et présente une démonstration pratique de l'intégration de Parasoft avec GitLab.

Points clés à retenir

  • L’importance de l’adoption d’un flux de travail de développement moderne.
  • L’importance des tests continus, y compris l’analyse statique, les tests unitaires et la couverture du code.
  • Bonnes pratiques pour la mise en œuvre de l’automatisation des tests.

Développement et collaboration agiles

Le développement agile , né d'une réunion en 2001, met l'accent sur la collaboration et l'adaptabilité. Ses valeurs fondamentales, énoncées dans le Manifeste Agile, sont centrées sur les individus et leurs interactions, les logiciels fonctionnels, la collaboration avec le client et l'adaptation au changement. Ces principes sont à la base de méthodologies comme Scrum et Kanban, qui visent à décloisonner les équipes et à améliorer la communication.

Scrum, une méthodologie de gestion de projet populaire, rassemble des équipes pluridisciplinaires autour d'objectifs communs. Elle utilise des sprints itératifs, des réunions régulières pour évaluer l'avancement et des rôles définis pour garantir une livraison prévisible et favoriser une méthode de travail plus efficace. Kanban, quant à lui, met fortement l'accent sur le travail d'équipe et les interactions humaines, souvent visualisées par des post-it accrochés aux murs lors des séances de planification.

DevOps et le pipeline CI/CD

Le DevOps s'appuie sur les principes agiles en intégrant des outils et l'automatisation pour rationaliser le processus de développement logiciel. Il automatise les tâches manuelles, décloisonne les équipes et accroît la productivité. Au cœur du DevOps se trouve le pipeline CI/CD, souvent représenté par le symbole de l'infini illustrant une approche continue et itérative.

Étapes du flux de travail DevOps

  1. Planification: Identifier les exigences et définir les livrables pour chaque itération. Des outils comme Jira sont couramment utilisés pour la gestion de projets agiles.
  2. Codage: Les développeurs travaillent sur des branches distinctes pour éviter de perturber la ligne de développement principale. Des outils comme Git pour la gestion de la configuration et des IDE comme VS Code ou Eclipse sont essentiels. Test C/C++ de Parasoft peut s'intégrer dans les IDE pour une analyse précoce du code.
  3. Construire: Déclenchée par les commits de code, cette étape compile et construit le code. L'automatisation est essentielle, grâce à des outils comme CMake et des compilateurs comme GCC. La conteneurisation avec Docker est également courante.
  4. Tester: Une fois la construction réussie, tests automatisés est déclenché. Cela inclut l'analyse statique, les tests unitaires, les tests de régression et la couverture de code. C/C++test de Parasoft s'intègre aux pipelines d'intégration continue pour ces tâches.
  5. Libération: Si les tests sont réussis et sans bugs, le code est fusionné dans la branche principale, garantissant ainsi sa stabilité.
  6. Déployer: Dans le développement embarqué, notamment pour les applications critiques pour la sécurité, cette étape implique souvent un processus d'approbation et des contrôles de conformité avant le déploiement. Si le service informatique de l'entreprise peut déployer directement, les systèmes embarqués nécessitent une validation plus rigoureuse.
  7. Opérer: L'application est opérationnelle et utilisée par les clients. L'organisation surveille ses performances.
  8. Moniteur: Les retours du terrain et des clients sont recueillis. Les inefficacités du pipeline ou du flux de travail sont identifiées et corrigées, et les retours sont intégrés à la planification future, relançant ainsi le cycle.

Relier Agile aux normes de sécurité fonctionnelle

Les méthodologies agiles s'alignent parfaitement sur les normes de sécurité fonctionnelle du secteur, telles que l'ISO 26262 pour l'automobile , la CEI 62304 pour le médical et la DO-178 pour l'avionique . Ces normes utilisent souvent un diagramme en V pour illustrer les phases de développement logiciel requises et leurs activités de vérification et de validation correspondantes. Le modèle en V décrit des phases comme l'analyse des exigences, la conception, l'implémentation, puis les étapes de vérification telles que l'analyse statique , les tests unitaires , les tests d'intégration, les tests système et les tests d'acceptation. Bien que ces normes définissent les exigences en matière de sécurité, elles laissent le choix de la méthode (par exemple, la méthode en cascade ou DevOps) à la discrétion de l'organisation.

Démo : Test Parasoft C/C++ avec GitLab CI/CD

La démonstration a illustré l'intégration de Parasoft C/C++test aux pipelines CI/CD de GitLab. Elle a présenté la configuration d'un pipeline avec analyse statique, l'accès aux résultats dans l'interface de GitLab et l'utilisation d'une extension VS Code pour télécharger et corriger les problèmes directement dans l'IDE. Cette intégration simplifie les flux de travail, réduit les coûts de mise en conformité et améliore la productivité des développeurs en permettant l'analyse du code et la correction des problèmes au sein de l'environnement de développement.

Avantages de l'adoption de CI/CD

Les clients qui adoptent les pratiques CI/CD constatent plusieurs avantages clés. Ils bénéficient d'une meilleure prévisibilité lors de la livraison des logiciels, d'une meilleure prise en compte des modifications des exigences et de la conception, et d'un processus de développement plus organisé et plus rapide. Un résultat significatif est la réduction des rapports de problèmes d'assurance qualité et des tickets clients, ce qui se traduit par une baisse des coûts de test et de développement. Au final, cela se traduit par des produits de meilleure qualité et une mise sur le marché plus rapide.