Logo Parasoft Rechercher

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

Conformité des logiciels ISO 26262 dans l'industrie automobile

Tests de systèmes logiciels

Les tests système testent le système dans son ensemble. Une fois tous les composants intégrés, l'ensemble du système est testé rigoureusement pour vérifier qu'il répond aux exigences fonctionnelles, de sécurité, de sûreté et autres exigences non fonctionnelles spécifiées.

Des équipes de test spécialisées effectuent ce type de tests sur les logiciels critiques pour la sécurité. Les tests système relèvent du domaine des tests de boîte noire. En tant que tels, ils ne devraient nécessiter aucune connaissance de la conception interne du code ou de la logique.

Une distinction importante avec les tests au niveau du système est que le système est testé dans un environnement proche de l'environnement de production dans lequel l'application sera déployée. À ce stade, des fonctions de sécurité spécifiques sont validées et des tests de sécurité à l'échelle du système sont exécutés.

Tests des systèmes automobiles au niveau du service

Les systèmes individuels d'une automobile ne peuvent pas être considérés comme faisant partie d'un service. Cependant, la connectivité avec des systèmes plus vastes signifie qu'ils devraient l'être. Par exemple, dans une automobile, le rôle de l'unité de contrôle du moteur (ECU) est de garantir une combustion et des émissions adéquates dans le moteur, mais la voiture surveille la consommation de carburant à l'aide de l'ECU et la transmet à un serveur central via une connexion sans fil.

Ces données de kilométrage sont ensuite utilisées pour planifier les itinéraires et estimer les coûts d'exploitation. Soudain, l'ECU devient un nœud de décision essentiel dans un processus de prise de décision commerciale.

Image d'une unité de contrôle du moteur (ECU) et de services utilisateur tous connectés au cloud.

Unité de contrôle du moteur (ECU) et services utilisateur tous connectés au cloud.

Au lieu de considérer la qualité du système en termes de satisfaction des exigences de chaque appareil, le champ d'application est élargi pour prendre en compte la qualité des services fournis. Les tests au niveau du service garantissent que les exigences non fonctionnelles sont respectées. Par exemple, les performances et la fiabilité sont difficiles à évaluer au niveau de l'appareil ou lors des tests unitaires du logiciel. Les tests basés sur les services peuvent simuler l'environnement opérationnel d'un appareil pour fournir des charges réalistes. Dans l'exemple du CVC, le nouveau capteur de température peut être testé avec des taux de demande variables pour voir s'il répond aux exigences de performances.

La sécurité est 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 fuzzing (entrées de données aléatoires et erronées) ou par attaques par déni de service. Dans l'exemple du système de climatisation, un nouveau capteur de température peut fonctionner correctement avec les requêtes attendues, mais tomber en panne en cas de surcharge. Un attaquant pourrait exploiter cette vulnérabilité pour surcharger le système et provoquer une panne.

Environnement de test virtuel et tests de niveau de service

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 ne nécessitent plus de dépendances matérielles difficiles à trouver (ou inexistantes). Ils utilisent une virtualisation de services sophistiquée avec d'autres outils d'automatisation de tests clés.

Virtualisation des services

Ce système simule toutes les dépendances nécessaires au dispositif testé pour effectuer 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 services et d'API

Proposez un moyen de piloter le système testé de manière à garantir que les services qu'il fournit (et les API fournies) fonctionnent parfaitement. Ces tests peuvent être manipulés via la plateforme d'automatisation pour effectuer des tests de performance et de sécurité selon les besoins.

Gestion et analyse du laboratoire de test

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.

Surveillance du temps d'exécution

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

Parasoft SOAtest et Virtualize pour les tests de niveau de service des logiciels automobiles

Avec Parasoft Virtualize , les développeurs peuvent créer des intégrations plus tôt, stabiliser les dépendances et maîtriser pleinement leurs données de test . Les équipes peuvent ainsi progresser 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é. Ces solutions Parasoft sont particulièrement précieuses pour le développement et les tests de véhicules logiciels (SDV).

Parasoft SOAtest propose des outils de test d'API et de services web entièrement intégrés qui automatisent les tests fonctionnels de bout en bout . Les équipes peuvent ainsi rationaliser 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.

SOAtest et Virtualize sont parfaitement adaptés aux tests au niveau système basés sur le réseau de divers types, notamment les suivants :

Pile de protocoles complète prenant en charge HTTP, MQTT, RabbitMQ, JMS, XML, JSON, REST, SOAP, etc.

Tests de sécurité et de performance lors de l'intégration et tests système avec intégration dans le processus CI/CD existant.

Tests de bout en bout qui combinent les interactions API, Web, mobiles et de base de données dans des environnements de test virtuels.

Un homme et une femme discutent à l'intérieur d'un bâtiment technologique

Améliorez vos tests logiciels avec les solutions Parasoft.

Contactez-Nous