Logo pour GIGAOM 365x70

Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>

Conformité logicielle DO-178C pour l'aérospatiale et la défense

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.

DO-178C spécifie à la fois les tests d'intégration logicielle et matérielle/logicielle. En ce qui concerne l'aspect développement logiciel des systèmes aéroportés, cela correspond au concept de « test système » pour les besoins du présent document. Il existe de nombreux autres aspects des tests système et en vol des systèmes aéroportés qui ne sont pas abordés ici.

La section 6.4.3 a Tests d'intégration matériel/logiciel basés sur les exigences se concentre sur le fonctionnement du logiciel dans l'environnement matériel cible. L'objectif est de valider les exigences de haut niveau. Il est également important de souligner que les exigences non fonctionnelles doivent être testées et que la section 6.4.2.1 exige des tests de plage normale pour démontrer le fonctionnement normal du logiciel, parallèlement à la section 6.4.2.2, qui exige des cas de test de robustesse. Il s'agit de tests qui utilisent des plages de données anormales qui se situent en dehors des valeurs attendues pour les entrées afin de démontrer que le système peut les gérer sans défaillance.

Photo montrant une vue d'ensemble d'une passerelle à jet à l'aéroport remplie d'avions commerciaux stationnés, de remorqueurs à bagages et de rampes d'accès.

Ce type de test sur les logiciels critiques pour la sécurité est effectué par une équipe de test spécialisée. 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 vérifiées et des tests de sécurité à l'échelle du système sont exécutés.


Tests de niveau de service des systèmes embarqués

Les systèmes embarqués peuvent être connectés à des systèmes plus grands qui, par exemple, collectent et analysent les données d'état et de vol. Tout type de bus ou de réseau de communication doit être testé pour l'intégrité, la sécurité et la confidentialité des données. Les tests système doivent inclure ces environnements pour une validation complète.

Au lieu de considérer la qualité du système en termes de satisfaction des exigences des composants individuels, 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.

La sécurité est une préoccupation croissante dans les systèmes aéroportés. Les cyberattaques sont possibles dans les systèmes modernes et proviennent 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.

Environnement de test virtuel et tests de niveau de service

Un laboratoire de test réel nécessite la représentation physique la plus proche de l'environnement dans lequel un système est censé fonctionner. Même dans le laboratoire le plus sophistiqué, il est difficile de passer à un environnement réaliste. Un laboratoire virtuel résout ce problème.

Les laboratoires virtuels évoluent au-delà du besoin de dépendances matérielles difficiles à trouver (ou inexistantes). Ils utilisent des virtualisation des services avec d’autres outils clés d’automatisation des tests.

Virtualisation des services

La virtualisation des services simule toutes les dépendances nécessaires au dispositif testé pour effectuer des tests complets du système. Cela inclut toutes les connexions et tous les protocoles utilisés par le dispositif avec des réponses réalistes à la communication. Par exemple, la virtualisation des services peut simuler un serveur d'entreprise avec lequel un système testé communique. De même, la virtualisation peut contrôler et simuler un système dépendant, comme les informations sur les patients, de manière réaliste.

Tests de services et d'API

Ces tests pilotent le système testé de manière à garantir que les services et les API qu'il fournit fonctionnent parfaitement. Ces tests peuvent être manipulés via la plateforme d'automatisation pour exécuter des tests de performance et de sécurité selon les besoins.

Surveillance du temps d'exécution

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

Gestion et analyse du laboratoire de test

Une fois virtualisée, une configuration de laboratoire complète peut être répliquée selon les besoins, offrant ainsi un contrôle global des laboratoires virtuels. 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.

Parasoft SOAtest & Virtualize pour les tests de niveau de service des logiciels embarqués

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 progresser 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é.

Parasoft SOAtest fournit des outils de test d'API et de services Web entièrement intégrés qui automatisent tests d'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 basés sur le réseau et au niveau système 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.