Webinaire en vedette : Tests d'API améliorés par l'IA : une approche de test sans code | Voir le séminaire

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 une préoccupation majeure dans les systèmes automobilesLes cyberattaques proviennent très probablement du réseau lui-même en attaquant les API exposées. Les tests basés sur les services peuvent créer des environnements simulés pour des tests de sécurité robustes, soit par fuzzing (saisies de données aléatoires et erronées), soit par des attaques par déni de service. Un nouveau capteur de température dans l'exemple CVC peut fonctionner correctement avec les requêtes attendues, mais tomber en panne en cas de surcharge. Un attaquant pourrait être en mesure d'exploiter cela 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

Simule toutes les dépendances nécessaires au périphérique testé pour effectuer des tests complets du système. Cela inclut toutes les connexions et tous les protocoles utilisés par le périphérique avec des réponses réalistes à la communication. Par exemple, virtualisation des services La virtualisation peut simuler un serveur d'entreprise avec lequel une automobile communique. De même, la virtualisation peut simuler de manière réaliste un système dépendant, comme des données de trafic ou de météo.

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

Les développeurs peuvent créer des intégrations plus tôt, stabiliser les dépendances et obtenir le contrôle total de leurs données de test avec Parasoft VirtualiserLes équipes peuvent avancer rapidement sans attendre l'accès à des services dépendants qui sont soit incomplets, soit indisponibles. Les entreprises peuvent permettre à leurs partenaires de tester leurs applications avec un environnement sandbox dédié. Ces solutions Parasoft sont particulièrement utiles dans le développement et le test de véhicules définis par logiciel (SDV).

Parasoft SOAtest fournit des outils de test d'API et de services Web entièrement intégrés qui automatiser les tests API fonctionnels de bout en bout. Les équipes peuvent rationaliser les tests automatisés avec des capacités avancées de création de tests fonctionnels pour les applications avec 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.

Bannière bleu foncé avec l'image d'un homme parlant à une femme tenant une tablette à la main dans une salle de serveurs.
Image d'un homme et d'une femme avec une tablette à la main en train de discuter dans une salle de serveurs.

Améliorez vos tests logiciels avec les solutions Parasoft.