Logo Parasoft
Image de couverture du livre blanc

Livre blanc

Comment relever les défis des véhicules définis par logiciel grâce à l'automatisation des tests

Découvrez ci-dessous un aperçu des avancées majeures présentées dans notre livre blanc.

Vue d'ensemble

Les véhicules à gestion logicielle représentent un changement de paradigme dans la conception automobile, où les fonctionnalités sont principalement assurées par logiciel plutôt que par des composants câblés. Ce livre blanc explore l'architecture des véhicules à gestion logicielle, les défis de développement, les efforts de normalisation et la manière dont l'automatisation des tests répond aux exigences critiques de sûreté et de sécurité.

Qu'est-ce qu'un SDV ?

Avec la maturation de l'électronique automobile et des logiciels qui la pilotent, le concept de véhicule à gestion logicielle (VGL) est en passe de transformer l'industrie automobile. Un VGL ne se limite pas au code exécuté dans la voiture ; il s'agit d'un nouveau paradigme où les fonctionnalités du véhicule sont principalement activées par logiciel plutôt que d'être intégrées directement à ses composants matériels. Ce passage d'une architecture fixe et câblée au VGL ouvre de nouvelles perspectives et soulève de nombreux défis, mais les problématiques liées au développement logiciel demeurent.

Avenir axé sur les services

Un véhicule autonome (SDV) fonctionne sur une plateforme de voiture connectée reposant sur une architecture orientée services (SOA). Les services sont fournis via les réseaux mobiles et les fournisseurs peuvent facilement proposer des composants logiciels nouveaux ou mis à jour.

L'un des principaux avantages de cette approche réside dans les mises à jour logicielles à distance (OTA). Ainsi, les véhicules bénéficient de nouvelles fonctionnalités, d'améliorations de performances et même de correctifs de sécurité critiques sans qu'il soit nécessaire de se rendre chez un concessionnaire. Un véhicule autonome (SDV) est toujours à jour et sécurisé. Par exemple, le logiciel étant au cœur des fonctionnalités et des performances des véhicules modernes, une mise à jour OTA pourrait améliorer la vitesse de pointe et l'accélération de votre véhicule.

graphique illustrant les systèmes connectés dans une voiture
Plateforme de voiture connectée basée sur une architecture SOA

Grâce aux services proposés par les fournisseurs OTA, on assistera à une transition vers des unités plus petites et plus faciles à gérer, appelées microservices. Ces microservices pourront être développés, testés et déployés indépendamment, ce qui améliorera l'agilité du processus de développement logiciel.

Les constructeurs automobiles peuvent proposer des options et des fonctionnalités sous forme d'abonnements, permettant ainsi un modèle de paiement à l'utilisation. Si cela offre aux consommateurs la flexibilité de choisir les options qu'ils souhaitent et quand ils les souhaitent, cela peut également entraîner une augmentation des coûts à long terme et une lassitude face à l'abonnement.

Du véhicule connecté au SDV

Les véhicules autonomes sont intrinsèquement liés au concept de véhicules connectés. À ce titre, l'objectif est d'exploiter la puissance de l'internet mobile pour partager des données avec d'autres véhicules et infrastructures, permettant ainsi une communication en temps réel, une navigation améliorée et des fonctionnalités de sécurité avancées.

Qu’il s’agisse de communication véhicule-à-véhicule (V2V) ou véhicule-à-infrastructure (V2I), le SDV devient un nœud dans le réseau plus large, contribuant aux avertissements de trafic et d’accidents, et permettant finalement la création de villes intelligentes.

Cette évolution vers le véhicule autonome répond également aux exigences croissantes en matière de connectivité, de puissance de calcul et de fonctionnalités des automobiles modernes. Les systèmes avancés d'aide à la conduite (ADAS) et les systèmes d'infodivertissement améliorés nécessitent une puissance de traitement considérable.

Les véhicules autonomes (SDV) sont conçus pour répondre à ces exigences informatiques et s'adapter à l'évolution de ces technologies. Les systèmes avancés d'aide à la conduite (ADAS) sont encore à leurs débuts. À mesure que leurs capacités s'améliorent, par exemple grâce à une meilleure détection des dangers, ces mises à niveau peuvent être déployées sur les véhicules sans nécessiter de nouveau matériel.

Architecture matérielle des SDV

L'architecture matérielle des SDV est une structure en couches :

  • Plateforme matérielle. La couche de base qui comprend les composants physiques du véhicule, notamment les unités de commande électroniques (ECU) traditionnelles et autres éléments matériels.
  • Logiciel système. Cette couche comprend les machines virtuelles, les noyaux système, le système d'exploitation temps réel (RTOS), l'environnement d'exécution AUTOSAR, etc. Elle fournit l'infrastructure logicielle nécessaire au fonctionnement du véhicule.
  • Intergiciel d'application. Elle inclut des logiciels fonctionnels, une architecture orientée services (SOA), etc. Elle fournit la plateforme nécessaire au développement et au déploiement d'applications embarquées.
  • Logiciel d'application. La couche supérieure comprend une interface homme-machine (IHM) intelligente pour le poste de pilotage, les systèmes avancés d'aide à la conduite (ADAS), les algorithmes de conduite autonome, les algorithmes de connectivité, les plateformes cloud, etc. Elle fournit des applications et des services destinés aux utilisateurs.
Schéma illustrant les connexions entre l'ordinateur central et les calculateurs/passerelles zonaux
Exemple d'architecture zonale SDV

Dans les architectures de véhicules traditionnelles, les calculateurs sont connectés via le bus CAN à des systèmes centraux assurant le contrôle, la programmation et le diagnostic. Cependant, dans les véhicules à gestion logicielle, l'approche évolue : on passe de l'utilisation de plusieurs calculateurs à celle de calculateurs virtuels (vECU), voire d'un unique supercalculateur embarqué.

Les calculateurs individuels sont regroupés selon leurs fonctionnalités similaires et connectés à un contrôleur de domaine central, tel qu'un système d'infodivertissement embarqué (IVI). Chaque contrôleur de domaine est ensuite connecté à une passerelle capable de transmettre les informations entre les domaines selon les besoins.

L'architecture SDV évolue d'une approche par domaine vers une approche par zones. Dans une architecture par domaine, les calculateurs et le câblage sont organisés en domaines fonctionnels spécifiques, comme le domaine du groupe motopropulseur. L'architecture par zones regroupe les fonctions des domaines en fonction de leur emplacement physique dans le véhicule. Cette transformation d'une architecture par domaine vers une architecture par zones favorise l'indépendance des capteurs et des actionneurs vis-à-vis du nœud de calcul central du véhicule.

En matière de technologies de communication, Ethernet, technologie standardisée et éprouvée, évolue rapidement pour répondre aux besoins de marchés comme l'automobile, qui présentent des exigences spécifiques, notamment le déterminisme et la bande passante élevée indispensables aux véhicules autonomes. Des passerelles facilitent la communication entre différents domaines. Afin d'assurer une communication déterministe en temps réel au sein du véhicule, le protocole TSN (Time-Sensitive Networking) gagne du terrain dans les applications automobiles.

Normalisation des SDV

La standardisation est un aspect essentiel de la transition vers les SDV. Elle implique de parvenir à un consensus sur l'architecture et les interfaces, ainsi que de définir les paramètres logiciels et les composants matériels. Ceci favorise le développement d'un écosystème de fournisseurs de technologies capables de prendre en charge ce modèle.

La Fondation Eclipse a créé le groupe de travail sur les véhicules à gestion logicielle (SDV). Ce groupe offre à l'organisation un espace d'échange pour développer et promouvoir des logiciels libres, des spécifications et une collaboration ouverte. L'objectif est de créer une plateforme logicielle évolutive, modulaire et extensible, prenant en charge le développement et le déploiement d'applications SDV. Le groupe de travail vise le succès en sélectionnant et en rassemblant un consensus sur divers sous-projets pertinents. Par exemple, le projet Eclipse openDuT porte sur les tests et la validation automatisés des logiciels automobiles.

La standardisation des véhicules autonomes (SDV) va engendrer une demande accrue de composants logiciels réutilisables et rapidement intégrables. Il est essentiel d'intégrer au véhicule des technologies de pointe telles que la virtualisation, les conteneurs, Linux et les logiciels libres en général, actuellement développées hors du véhicule.

Au cours des prochaines années, nous assisterons à une standardisation croissante des couches d'abstraction matérielle (HAL), ce qui favorisera la virtualisation. Il en résultera une meilleure portabilité des couches logicielles et une évolution vers des composants communs partagés par différentes marques. Cette évolution s'inscrit dans la tendance plus large d'étendre le concept de « tout défini par logiciel » à l'automobile.

Alternatives SDV

L'initiative SDV n'est pas la seule vision logicielle pour l'automobile actuellement en cours. La Chine, par exemple, a sa propre vision, fondée sur les initiatives de ses fournisseurs nationaux, qui se concentrent sur leur version d'AUTOSAR, appelée NeuSAR. Cette plateforme système, basée sur AUTOSAR, est développée pour les véhicules de nouvelle génération. Cette spécification inclut des fonctions de sûreté et de sécurité, des piles de protocoles SOA, le déploiement dynamique d'applications et des solutions de collaboration véhicule-cloud.

L'intention et les objectifs de NeuSAR et de la vision chinoise correspondent en grande partie, voire en totalité, aux objectifs de la SDV. Cependant, la compatibilité de ces deux initiatives reste à démontrer.

Sûreté et sécurité dans les SDV

Les normes de sécurité requises pour les logiciels automobiles actuels devraient être maintenues et évoluer avec les véhicules autonomes. De plus, les logiciels devront répondre aux exigences des véhicules autonomes, notamment en matière de portabilité.

Qualité automobile. Le logiciel doit être développé conformément aux normes de sécurité automobile. Cela signifie qu'il doit pouvoir fonctionner dans des conditions très variées et être suffisamment robuste, fiable et sécurisé pour répondre aux exigences des véhicules connectés modernes. Ceci inclut l'ensemble du cycle de vie du véhicule, de la conception à la fin de vie, en passant par le développement, la production, la maintenance et le recyclage.

Normes de sûreté et de sécurité. Le logiciel doit respecter les normes de sécurité les plus strictes, notamment ISO 26262 pour la sécurité fonctionnelle et Norme ISO 21434 pour la cybersécurité.

Normes ouvertes. Les solutions devraient utiliser autant que possible des normes ouvertes afin de promouvoir l'interopérabilité et la portabilité.

Découplage du logiciel et du matériel. Le code doit être agnostique, reposer sur des logiciels libres et, par conséquent, respecter les meilleures normes de l'industrie et les normes de développement logiciel.

Cybersécurité. Face à la connectivité croissante des véhicules, la cybersécurité est une préoccupation constante. Les logiciels doivent être conçus avec des mesures de sécurité robustes afin de se prémunir contre les cybermenaces potentielles.

Défis du développement logiciel SDV

La sûreté et la sécurité demeurent des défis considérables pour le développement de logiciels automobiles. Parmi les autres défis logiciels auxquels sont confrontés les SDV, on peut citer :

Développement logiciel

La transition d'une conception automobile basée sur le matériel à une architecture de véhicule logicielle est un processus complexe. Le nombre de lignes de code nécessaires pour chaque automobile augmente de façon exponentielle, tout comme l'effort de développement.

Intelligence Artificielle

L’utilisation de l’IA dans les SDV présente son lot de défis, notamment celui de garantir la fiabilité et la sécurité de ces systèmes.

Intégration système

L'intégration de différents systèmes logiciels dans un véhicule est une tâche complexe.

Contraintes budgétaires

Le budget alloué aux véhicules est un enjeu majeur dans la transition vers les véhicules autonomes. Si ces derniers ne sont pas proposés à des prix compétitifs et ne dégagent pas de marges suffisantes pour les constructeurs, la transition sera considérée comme un échec.

Écart de compétences

Les constructeurs automobiles devront apprendre à intégrer les logiciels dans le processus de développement automobile.

Chaîne d'approvisionnement

Dans un premier temps, la plupart des constructeurs automobiles s'appuieront sur des fournisseurs de rang 1 et 2 pour obtenir les pièces nécessaires à la fabrication des véhicules. Pour que la transition soit réussie, ces constructeurs devront maîtriser le passage d'une approche centrée sur le matériel à une approche centrée sur le logiciel.

Automatisation des tests des SDV

Pour que les SDV deviennent une réalité, l'automatisation est un élément clé de leur développement. Cela inclut les environnements de développement, le développement basé sur les modèles, les pipelines CI/CD et les tests. Les sections suivantes abordent certains aspects essentiels de l'automatisation des tests et expliquent comment elle peut améliorer la sûreté et la sécurité des SDV.

Les normes de sécurité restent applicables.

La sûreté et la sécurité resteront des préoccupations primordiales pour les véhicules autonomes. Par conséquent, le développement des logiciels embarqués sera soumis à des normes et à leur respect. Deux normes importantes :

1. ISO 26262 : Véhicules routiers – Sécurité fonctionnelle

2. ISO/SAE 21434 : Véhicules routiers – Ingénierie de la cybersécurité

La norme ISO 26262 traite des risques potentiels liés aux dysfonctionnements des systèmes électroniques et électriques embarqués. Elle fournit un ensemble de lignes directrices et d'exigences détaillées concernant leur sécurité fonctionnelle, notamment le cycle de vie de la sécurité automobile, les aspects de sécurité fonctionnelle de l'ensemble du processus de développement, les niveaux d'intégrité de sécurité automobile (ASIL) et les exigences relatives aux mesures de validation et de confirmation. Ces ASIL s'appliquent aux systèmes logiciels des véhicules autonomes, comme c'est le cas pour les véhicules actuels.

La norme ISO/SAE 21434 s'appuie sur la norme ISO 26262 et fournit un cadre pour l'ensemble du cycle de vie de la sécurité des véhicules. Son objectif est de proposer des recommandations sur les meilleures pratiques de développement en matière de cybersécurité.

À mesure que l'industrie automobile s'appuie de plus en plus sur les logiciels et que les véhicules autonomes sont par définition centrés sur le logiciel, ces normes deviennent encore plus cruciales. Elles garantissent que, malgré la dépendance croissante des véhicules aux logiciels, les aspects liés à la sécurité fonctionnelle et à la cybersécurité soient pleinement pris en compte.

Amélioration de la sûreté et de la sécurité des SDV grâce à l'automatisation des tests logiciels

Analyse statique

De nombreuses tâches de contrôle qualité spécifiées dans la norme ISO 26262, notamment l'analyse des flux de données et de contrôle et l'analyse sémantique, sont prises en charge par des outils modernes et avancés tels que Parasoft C/C++test. De plus, outils d'analyse statique Inclure des indicateurs et prendre en charge la revue de code par les pairs grâce à des fonctionnalités qui facilitent les tests unitaires et la détection des erreurs d'exécution.

Les méthodes de vérification telles que l'analyse statique offrent aux équipes un moyen pratique de détecter, de prévenir et de corriger les erreurs dans systèmes logiciels automobilesLa véritable puissance des outils d'analyse statique avancés réside dans leur capacité à analyser le code en fonction de normes de conformité en matière de codage industriel comme MISRA, CERT et AUTOSAR C++ 14.

Le rapport d'analyse inclut non seulement les violations des règles et directives du code, mais aussi la complexité du code et des indicateurs de qualité. Ces données peuvent être versionnées à des fins d'archivage et d'audit. L'utilisation d'un système de suivi et de gestion des anomalies est tout aussi importante pour fournir des analyses pertinentes et établir des priorités, afin de résoudre les problèmes les plus critiques en commençant par les moins critiques.

Conformité aux normes de codage

Normes de codage Ces normes intègrent les meilleures pratiques issues de nombreuses années d'expérience et visent à renforcer la robustesse du code en évitant les mauvaises pratiques qui compromettent la qualité et la sécurité, tout en promouvant les bonnes pratiques qui permettent de créer un code plus résilient. Dans le secteur automobile, elles reposent sur les meilleures pratiques ainsi que sur des recommandations pour prévenir les types de défaillances logicielles observées au fil des ans.

Les normes de codage définissent généralement un sous-ensemble d'un langage de programmation considéré comme plus sûr et plus sécurisé à utiliser. L'objectif est d'éviter les comportements imprévisibles en limitant les fonctionnalités de langage risquées qui les rendent possibles.

Voici quelques exemples de normes de codage susceptibles d'être importantes pour le développement SDV. Ces normes sont applicables avec outils d'analyse statique comme Parasoft C++test.

MISRA C 2023/MISRA C 2025. Un ensemble de recommandations de codage pour le langage de programmation C. Cette norme vise à améliorer la sécurité des logiciels en prévenant les erreurs de codage susceptibles d'entraîner des défaillances à l'exécution et des problèmes de sécurité, notamment en évitant les constructions problématiques connues du langage C.

MISRAC++2023. Fournit des instructions explicites pour éviter tous les cas de comportement indéfini et non spécifié à l'aide du langage de programmation C++17 et est destiné à remplacer AUTOSAR C++14.

AUTOSAR C++14. AUTOSAR (AUTomotive Open System ARchitecture) est un partenariat de développement mondial regroupant des constructeurs automobiles, des équipementiers automobiles de premier rang, des fabricants de semi-conducteurs, des éditeurs de logiciels, des fournisseurs d'outils et d'autres acteurs qui se concentrent sur l'établissement et la normalisation de l'architecture logicielle automobile. Un composant clé de la plateforme adaptative AUTOSAR est Norme de codage AUTOSAR C++14 Elle définit les directives d'utilisation du langage C++ moderne dans les systèmes critiques et de sécurité. C'est la seule norme du marché qui prend en charge le C++ moderne.

CERTIFICATION SEI C et C++. L'équipe d'intervention d'urgence informatique (CERT) du Software Engineering Institute (SEI) dispose d'un ensemble de directives pour aider les développeurs à créer des logiciels plus sûrs, plus sécurisés et plus fiables. Lancée en 2006 lors d'une réunion du Comité de normalisation C, la première Norme CERT C a été publié en 2008 et est en constante évolution.

Les règles sont des directives détectables par les outils d'analyse statique et dont l'application doit être rigoureuse, tandis que les recommandations sont des directives à moindre impact, parfois difficiles à analyser automatiquement. Le CERT intègre un système d'évaluation des risques qui combine la probabilité d'occurrence, la gravité et la difficulté relative de correction. Ce système aide les développeurs à prioriser les violations de directives les plus importantes à examiner. L'intégration de l'effort de correction dans la priorisation des directives constitue un atout majeur des normes de codage sécurisé du CERT, dont de nombreuses autres normes sont dépourvues.

Automatisation des tests unitaires logiciels

La norme ISO 26262 définit des lignes directrices spécifiques pour les essais conformes aux niveaux d'intégrité de sécurité. Les essais basés sur les exigences et les essais d'interface sont fortement recommandés à tous les niveaux. Les essais d'injection de défauts et d'utilisation des ressources sont recommandés aux niveaux d'intégrité inférieurs et fortement recommandés au niveau ASIL D (Automotive Safety Integrity Levels). De même, la méthode de conduite des scénarios d'essai est également spécifiée, assortie de bonnes pratiques recommandées.

L'automatisation des tests offre des avantages considérables aux logiciels embarqués automobiles. En abandonnant les suites de tests nécessitant de nombreuses interventions manuelles, les tests peuvent être réalisés plus rapidement, plus facilement et plus fréquemment. Le déchargement de ces tâches manuelles libère du temps pour une meilleure couverture des tests et pour d'autres objectifs de sécurité et de qualité. Une condition essentielle à l'exécution automatisée des suites de tests est la possibilité de les exécuter à la fois sur l'environnement hôte et sur l'environnement cible.

Tests ciblés pour les systèmes automobiles. L'automatisation des tests pour les logiciels automobiles est plus complexe en raison de la difficulté à initier et à observer les tests sur des systèmes embarqués. Sans parler de l'accès limité au matériel cible dont disposent les équipes logicielles. La traçabilité entre les cas de test, les résultats, le code source et les exigences doit être enregistrée et maintenue. La collecte de données est donc essentielle à l'exécution des tests.

Parasoft C/C++test est proposé avec son harnais de test optimisé pour prendre en charge un minimum de frais supplémentaires pour l'empreinte binaire et le fournit sous forme de code source, où il peut être personnalisé si des modifications spécifiques à la plate-forme sont nécessaires.

Intégration à l'IDE. Parasoft C/C++test propose des intégrations dédiées avec les environnements de développement intégrés (IDE) et les débogueurs embarqués, simplifiant et automatisant ainsi l'exécution des cas de test. Parmi les IDE compatibles figurent Eclipse, VS Code, Green Hills Multi, Wind River Workbench, IAR EW, ARM MDK, ARM DS-5, TI CCS, Visual Studio et bien d'autres.

Génération automatisée de cas de test. La génération et la gestion des données de test constituent de loin les plus grands défis des tests unitaires. Les cas de test sont particulièrement importants dans développement de logiciels critiques pour la sécurité Car ils doivent garantir les exigences fonctionnelles et tester les comportements imprévisibles, ainsi que les exigences de sécurité et de sûreté. Le tout en respectant les critères de couverture des tests. Parasoft C/C++test génère automatiquement des cas de test au format CppUnit.

Tests de régression automatisés. PAO Parasoft Ce système permet de créer des référentiels de tests de régression sous forme d'ensemble organisé de tests et vérifie automatiquement tous les résultats. Ces tests s'exécutent automatiquement et régulièrement afin de vérifier si les modifications apportées au code altèrent ou perturbent les fonctionnalités testées lors des tests de régression. En cas de modification, ces cas de test échouent afin d'alerter l'équipe. Lors des tests suivants, DTP génère des rapports de tâches s'il détecte des changements de comportement par rapport au test initial.

Tests fonctionnels des SDV avec tests basés sur les services

Une architecture orientée services est fondamentale pour les véhicules autonomes. Tester les interfaces de service des véhicules deviendra une activité de développement nouvelle et essentielle. La fonctionnalité même des nouvelles automobiles sera définie par les services qu'elles offrent et utilisent. L'automatisation des tests au niveau des services est cruciale pour le succès des véhicules autonomes, car cette approche facilitera l'intégration continue et le déploiement continu (CI/CD), la conformité réglementaire, les mises à jour en service et la validation fonctionnelle.

Au lieu d'évaluer la qualité d'un système uniquement en fonction des exigences de chaque appareil, on élargit le champ d'application pour prendre en compte la qualité des services fournis. Les tests au niveau du service permettent de garantir le respect des exigences non fonctionnelles. Par exemple, les performances et la fiabilité sont difficiles à évaluer au niveau unitaire ou lors des tests unitaires logiciels. Les tests basés sur les services permettent de simuler l'environnement opérationnel d'un appareil afin de fournir des charges réalistes. Par exemple, dans un système CVC (chauffage, ventilation et climatisation), le capteur de température peut être testé avec différents taux de requêtes pour vérifier s'il répond aux exigences de performance.

La sécurité est également un enjeu majeur pour les systèmes automobiles. Les cyberattaques proviennent généralement du réseau lui-même, en ciblant les API exposées. Les tests basés sur les services permettent de créer des environnements simulés pour des tests de sécurité robustes, par exemple par fuzzing (entrées de données aléatoires et erronées) ou par attaques par déni de service. Prenons l'exemple du système de climatisation : le capteur peut fonctionner correctement avec les requêtes attendues, mais devenir vulnérable en cas de surcharge. Un attaquant pourrait exploiter cette vulnérabilité pour accéder aux données ou prendre le contrôle de certaines parties du système.

Environnements de test virtualisés pour les SDV

Un laboratoire d'essai réel nécessite la représentation physique la plus proche de l'environnement dans lequel une automobile est censée fonctionner. Même dans le laboratoire le plus sophistiqué, il est difficile de reproduire un environnement réaliste. Un laboratoire virtuel résout ce problème.

Les laboratoires virtuels s'affranchissent des dépendances matérielles difficiles à trouver, voire inexistantes. Ils utilisent une virtualisation de services sophistiquée associée à d'autres outils clés d'automatisation des tests.

Virtualisation des services. Ce système simule toutes les dépendances nécessaires au dispositif testé afin de réaliser des tests système complets. Cela inclut toutes les connexions et tous les protocoles utilisés par le dispositif, avec des réponses réalistes aux communications. Par exemple, la virtualisation de services peut simuler un serveur d'entreprise avec lequel une automobile communique. De même, la virtualisation peut simuler un système dépendant, comme les données de trafic ou météorologiques, de manière réaliste.

Tests de service et d'API. Proposez une méthode pour piloter le système testé de façon à garantir le bon fonctionnement des services et des API qu'il fournit. Ces tests peuvent être gérés via la plateforme d'automatisation afin de réaliser des tests de performance et de sécurité selon les besoins.

Surveillance de l'exécution. Détecte les erreurs en temps réel sur le système testé et capture des informations de trace importantes.

Gestion et analyse des laboratoires d'essais. Assurer le contrôle global des laboratoires virtuels. Une fois virtualisée, la configuration complète du laboratoire peut être répliquée selon les besoins et les tests peuvent être automatisés et répétés. Les analyses fournissent le résumé nécessaire des activités et des résultats.

SOAtest et Virtualize pour les tests de niveau de service des SDV

Avec Parasoft Virtualize, les développeurs créent des intégrations plus tôt, stabilisent les dépendances et maîtrisent pleinement leurs données de test. Les équipes progressent rapidement sans attendre l'accès à des services dépendants incomplets ou indisponibles. Les entreprises peuvent permettre à leurs partenaires de tester leurs applications dans un environnement sandbox dédié.

Parasoft SOAtest offre Outils de test d'API et de services Web entièrement intégrés qui automatisent tests d'API fonctionnels de bout en boutLes équipes rationalisent les tests automatisés grâce à des fonctionnalités avancées de création de tests fonctionnels pour les applications comportant plusieurs interfaces et protocoles.

De plus, à mesure que la stratégie de test d'API d'une équipe se développe, les bibliothèques de cas de test s'agrandissent. Lorsque les API testées évoluent, les tests doivent être mis à jour. Habituellement, cela représente un obstacle majeur à la mise à l'échelle d'une stratégie d'automatisation des tests, mais avec SOAtest, les équipes peuvent gérer les changements de manière automatisée. Configurez facilement l'Assistant de changement de SOAtest pour analyser automatiquement les interfaces d'API, identifier les modifications apportées aux services, puis créer un modèle montrant l'impact de ces modifications sur les ressources de test et mettre à jour automatiquement les tests en conséquence.

Synthèse

Les véhicules autonomes (SDV) représentent une transition majeure dans l'industrie automobile, où les fonctionnalités d'un véhicule sont principalement assurées par logiciel plutôt que par des composants matériels intégrés. Toutefois, cette dépendance accrue au logiciel implique un renforcement du développement logiciel pour les constructeurs automobiles, notamment en ce qui concerne l'automatisation des tests.

L'automatisation des tests est un élément clé du développement des logiciels de validation logicielle (SDV), notamment pour améliorer considérablement la productivité des tests tout en garantissant la sûreté et la sécurité. L'une des solutions consiste à utiliser l'analyse statique avancée de Parasoft C/C++test pour identifier, prévenir et corriger les erreurs dans les systèmes logiciels automobiles. solution de test pour le développement de logiciels C/C++ analyse le code en fonction des normes de conformité de codage de l'industrie telles que MISRA et CERT, et signale les règles de codage, les violations de directives, la complexité du code et les indicateurs de qualité.

Les tests basés sur les services garantissent le respect des exigences non fonctionnelles et permettent de simuler l'environnement opérationnel d'un appareil afin de fournir des charges réalistes. Ils permettent également des tests de sécurité robustes grâce à des méthodes telles que le fuzzing ou les attaques par déni de service.

Les laboratoires virtuels, qui utilisent une virtualisation de services sophistiquée et d'autres outils clés d'automatisation des tests, offrent une solution aux défis posés par les tests en environnement réaliste. La virtualisation de services simule toutes les dépendances nécessaires au dispositif testé pour un test système complet.

SOAtest et Virtualiser Nous proposons des solutions pour les tests de niveau de service des SDV. Virtualize permet aux développeurs de créer des intégrations plus tôt, de stabiliser les dépendances et de maîtriser pleinement leurs données de test. SOAtest fournit des outils de test d'API et de services web entièrement intégrés qui automatisent les tests fonctionnels d'API de bout en bout.

Prêt à plonger plus profondément ?

Téléchargez le livre blanc complet