Vérification continue et CI/CD
L'intégration de la vérification dans le pipeline de CI permet de détecter les défauts dès leur apparition, avant qu'ils ne se propagent dans les builds intégrés ou les composants en aval.
Pour les équipes de développement de logiciels embarqués, l’intégration de la vérification dans le pipeline CI/CD signifie que chaque validation de code déclenche automatiquement une analyse statique, l’exécution de tests de régression, la mesure de la couverture et des contrôles de qualité. Les problèmes sont détectés dans les minutes qui suivent leur apparition, alors que le code est encore récent et que la correction est simple à mettre en œuvre.
L'analyse statique dans le pipeline
PC-lint Plus fonctionne comme un outil en ligne de commande et s'intègre à n'importe quel environnement CI/CD. Son format de sortie entièrement personnalisable permet aux résultats d'analyse d'être exploités par les systèmes de build, les outils de suivi des tickets et les tableaux de bord. Comme il opère sur le code source et ne nécessite ni build ni exécution, il peut s'exécuter à chaque commit avec une surcharge minimale.
PC-lint Plus View étend cette visibilité directement à l’environnement de développement. Les résultats s’affichent en ligne au fur et à mesure de l’écriture du code, rendant ainsi les défauts et les violations des directives immédiatement visibles pour le développeur qui les a introduits, plutôt que de n’apparaître qu’ultérieurement dans un rapport de build. La même analyse qui s’exécute dans le pipeline s’exécute également dans l’éditeur, selon la même configuration de règles.
PC-lint Plus signale les violations des normes de codage, les déréférencements de pointeurs nuls, les failles de sécurité et d’autres catégories de défauts dès leur apparition dans la base de code, au sein même de la compilation qui les a générés.
Exécution automatisée des tests
VectorCAST s'intègre à Jenkins, Azure DevOps, GitLab et d'autres plateformes d'intégration continue (CI). L'édition Server est optimisée pour l'exécution parallèle des tests dans des environnements automatisés, permettant d'exécuter des tests sur plusieurs configurations sans entraver le développement interactif des tests.
Tests basés sur les modifications
L'exécution de la suite de tests complète à chaque validation n'est pas envisageable sur des bases de code volumineuses. Les tests basés sur les modifications (CBT) de VectorCAST résolvent ce problème en identifiant l'ensemble minimal de cas de test couvrant les sections de code concernées par une modification, puis en réexécutant uniquement ces tests.
L'intégrité de la couverture est préservée. Le CBT fournit un retour d'information rapide sur l'impact de chaque modification tout en maintenant un cycle d'intégration (CI) court. Des séries complètes de tests de régression peuvent être programmées en cas de besoin. Entre ces deux étapes, le CBT fournit un retour d'information rapide sur l'impact des modifications, ce qui permet de maintenir un cycle d'intégration court sans laisser de lacunes.
Contrôles de qualité et suivi des tendances
Les exécutions de test individuelles reflètent l’état d’une seule version. Squore surveille la trajectoire du projet. Il vérifie si la couverture s’améliore d’une version à l’autre, si les résultats de l’analyse statique s’accumulent et si la base de code est en bonne voie pour respecter les exigences de couverture avant l’intégration.
Squore met en place des contrôles de qualité qui empêchent le code non conforme de progresser dans le pipeline. Lorsqu’une validation risquerait d’entraîner une régression de la couverture en dessous d’un seuil défini, ou lorsque les résultats de l’analyse statique dépassent une limite configurée, le contrôle interrompt la compilation et alerte l’équipe. L’analyse des tendances met en évidence toute détérioration de la qualité à un stade précoce, avant qu’elle ne devienne un problème susceptible de retarder la mise en production.
Le dividende de la conformité
Chaque exécution de test automatisé, d’analyse statique et de mesure de couverture vient enrichir un ensemble croissant de preuves indiquant ce qui a été vérifié, avec quel degré de rigueur et sur quelle base. Ces preuves s’accumulent en tant que résultat naturel du processus de développement, et non comme une activité de conformité distincte mise en place à la hâte avant un audit.
Pour les équipes travaillant selon les normes ISO 26262, DO-178C, CEI 61508 ou CEI 62304, les conséquences pratiques sont considérables. Les preuves de certification qui, auparavant, prenaient des semaines à compiler à la fin des projets, sont désormais disponibles en continu tout au long du projet. Les lacunes de couverture sont détectées dès qu’elles sont encore minimes. La dette d’analyse statique ne s’accumule pas au point de devenir ingérable. L’audit devient un examen d’un dossier existant plutôt qu’une course contre la montre pour en produire un.
PC-lint Plus, VectorCAST et Squore sont tous certifiés conformes aux normes qu’ils prennent en charge. Leurs résultats sont acceptés comme preuves de vérification sans travail de qualification supplémentaire. Leur intégration dans le pipeline signifie que les preuves de conformité sont le fruit de la pratique d’ingénierie, et non un projet à part entière.