Optez pour une voie plus rapide et plus intelligente vers l'automatisation des tests C/C++ pilotée par l'IA. Découvrez comment >>
WEBINAIRE
Dans l'industrie automobile, la norme ISO 26262 traite de la sécurité des logiciels dans le développement de produits et décrit diverses méthodes de test pour garantir la livraison de véhicules sûrs. De même, de nombreuses organisations doivent répondre aux exigences de sécurité et de vérification des logiciels recommandées par la norme ISO 21434.
Les méthodes de vérification essentielles comme l'analyse statique, les tests unitaires, la couverture de code structurelle et la traçabilité des exigences peuvent être chronophages et exigeantes en main-d'œuvre. Découvrez comment les automatiser au sein du flux de travail naturel du développement logiciel afin de réduire les coûts de main-d'œuvre, d'accélérer la mise sur le marché, d'améliorer la qualité du code et de garantir la conformité. ISO 26262 et la ISO 21434 normes de sécurité et de sûreté fonctionnelles.
À retenir
ISO 26262, en particulier la partie 6 pour le développement de logiciels, utilise un modèle en V. Ce modèle présente les différentes phases de développement à gauche (exigences, conception, implémentation) et les phases de test correspondantes à droite (tests unitaires, tests d'intégration, tests système). Bien que le modèle en V soit un processus recommandé, il ne s'agit pas d'une méthodologie de développement comme Waterfall ou Agile.
La norme ISO 21434 utilise également une approche similaire en V pour le développement et la vérification, soulignant la nécessité de tester les fonctions de sécurité à différents niveaux. Cela implique de tester les fonctions de chiffrement, d'intégrer les processus de démarrage et de tester les protocoles de communication système afin de garantir la sécurité des échanges de données.
La norme ISO 21434 stipule que la cybersécurité doit être intégrée aux processus existants. Comme de nombreux acteurs du secteur automobile connaissent déjà la norme ISO 26262, l'intégration de la sécurité est plus simple. Cela implique souvent une étroite collaboration entre les ingénieurs système et les ingénieurs sécurité pour définir les exigences, réaliser des analyses des risques et des menaces pour la sécurité.
Les deux normes exigent des méthodes de vérification similaires :
De nombreux constructeurs automobiles adoptent des workflows d'intégration continue (CI) et de livraison continue (CD). Ces pipelines permettent de prévoir la livraison des logiciels, de gérer les changements d'exigences et de réduire les problèmes signalés par l'assurance qualité. L'accent est mis sur l'automatisation à grande échelle.
Les frameworks comme GoogleTest sont populaires pour les tests unitaires en C++. Ils sont faciles à utiliser, ont une syntaxe claire et s'intègrent parfaitement aux systèmes de compilation comme CMake. Cependant, pour optimiser leur valeur, ces frameworks peuvent être enrichis d'outils offrant une couverture de code structurelle et une traçabilité des exigences.
Voici à quoi pourrait ressembler un flux de travail rationalisé :
Lorsque l’on compare les outils open source aux solutions commerciales, plusieurs facteurs de coût entrent en jeu :
En automatisant les méthodes de vérification et en les intégrant à votre flux de travail de développement, vous pouvez réduire efficacement les coûts de main-d'œuvre, accélérer votre mise sur le marché, améliorer la qualité du code et garantir la conformité aux normes ISO 26262 et ISO 21434.