VectorCAST/C++

Tests unitaires et d'intégration automatisés pour C et C++

VectorCAST/C++ est une solution hautement automatisée de tests unitaires et d'intégration pour les logiciels en C et C++. Elle est conçue pour les développeurs embarqués travaillant sur des systèmes critiques pour la sécurité et pour l'activité, où des tests approfondis et reproductibles constituent une exigence et non une simple option.

L'outil génère automatiquement le harnais de test et le cadre de simulation à partir de votre code source. Vos ingénieurs définissent ce qu'il faut tester et quel est le comportement attendu. Le reste est pris en charge pour eux.

À qui s'adresse VectorCAST/C++ ?

VectorCAST/C++ est utilisé par les développeurs de logiciels embarqués et les ingénieurs de test dans les secteurs de l’aérospatiale, de l’automobile, des dispositifs médicaux, des commandes industrielles et des programmes ferroviaires. Il prend en charge la conformité aux normes DO-178B/C, ISO 26262, CEI 61508, CEI 62304 et EN 50716.

Avantages

VectorCAST/C++ vous évite la charge de travail manuelle liée aux tests unitaires sans pour autant compromettre le niveau de couverture dont votre programme a besoin.

  • Réduisez considérablement le temps de développement des tests

    La création automatique de harnais et de maquettes élimine le travail manuel lié à l'écriture de pilotes de test et de stubs. Votre équipe rédige des cas de test, et non de l'infrastructure.

  • Prouvez la couverture au niveau requis par votre norme

    L’analyse intégrée de la couverture des instructions, des branchements et des MC/DC fournit les preuves dont votre audit de certification a besoin, directement depuis l’outil.

  • Effectuez des tests en continu sans maintenance manuelle

    Les projets de test sont automatiquement réexécutés sur la dernière version du code source. Les résultats sont classés par date, heure, unité et nom de test, ce qui garantit la fiabilité des exécutions de régression tout en minimisant l’effort requis.

  • Testez sur un hôte, un simulateur ou une cible embarquée

    Développez vos tests sur votre hôte et réexécutez-les sur votre matériel cible embarqué à l’aide de VectorCAST RSP. Aucune réécriture des tests n’est nécessaire.

  • Intégrez l’outil sans perturber votre chaîne d’outils

    VectorCAST/C++ fonctionne avec votre compilateur, votre système de build et votre environnement d’intégration continue (CI) existants. La prise en charge native de GoogleTest permet d’importer vos suites de tests existantes sans réécriture. Une interface en ligne de commande complète et la prise en charge des scripts Python facilitent l’automatisation.

Domaines d'application

VectorCAST/C++ est utilisé dans divers secteurs d'activité où les logiciels en C et C++ doivent être vérifiés au regard d'exigences strictes en matière de sécurité fonctionnelle ou de certification.

Aérospatiale

Tests unitaires et d'intégration pour les logiciels embarqués, conformément aux normes DO-178B et DO-178C, y compris les preuves de couverture MC/DC requises pour les niveaux d'assurance de conception les plus élevés.

Automobile

Vérification des composants logiciels pour la conformité à la norme ISO 26262, avec traçabilité des exigences et automatisation des tests de régression dans le cadre de projets logiciels d'ECU.

Médical

Tests unitaires avec prise en charge complète de la documentation relative à la classification de sécurité des logiciels selon la norme CEI 62304.

Industriel

Vérification systématique des logiciels pour les programmes de sécurité fonctionnelle conformes à la norme CEI 61508.

Chemins de fer

Vérification et validation de logiciels pour les programmes conformes à la norme EN 50716:2023.

Caractéristiques principales

VectorCAST/C++ couvre l'ensemble du processus de tests unitaires et d'intégration, de la génération des harnais à la création de rapports de couverture, tout en offrant la flexibilité nécessaire pour prendre en charge aussi bien les approches de test axées sur l'interface graphique que celles centrées sur le code.

Rédaction et exécution de tests

Environnement de test et simulation

VectorCAST/C++ génère automatiquement un harnais de test complet et un framework de simulation à partir de votre code source. Il n'est pas nécessaire d'écrire manuellement des stubs ou des pilotes. L'outil se charge de la compilation et de la liaison du harnais à l'aide de votre compilateur et fournit une interface avec le débogueur de ce dernier pour le diagnostic des problèmes lors de l'exécution des tests.

Épreuves à choix multiples

Coded Tests permet aux développeurs de créer des cas de test directement en C++ à l'aide d'un framework xUnit. Cela simplifie la configuration et le nettoyage des tests, et facilite le partage d'objets entre les tests. Cet outil vient compléter l'éditeur de tests piloté par les données, qui génère un harnais de test complet sans nécessiter de recompilation à chaque mise à jour d'un cas de test.

Tests d'intégration

Plusieurs unités peuvent être testées simultanément dans un même environnement VectorCAST/C++. Les dépendances sont simulées à l'aide de stubs ou intégrées sous forme de code réel, ce qui permet une simulation approfondie de scénarios concrets impliquant plusieurs fonctions et unités.

Développement piloté par les tests

VectorCAST/C++ prend en charge les processus de développement pilotés par les tests (TDD). Les tests unitaires peuvent être créés à partir des fichiers d'en-tête avant même que le code de l'application ne soit écrit. À mesure que le code est développé de manière incrémentielle, les tests commencent à réussir à mesure que le code réel remplace les stubs et les mocks. La suite de tests ainsi obtenue est alors disponible pour les tests de régression automatisés.

Analyse et rapports

Couverture de code intégrée

L'analyse de la couverture des instructions, des branches et des MC/DC est intégrée à VectorCAST/C++. Les données de couverture peuvent être partagées avec VectorCAST/QA afin de générer des rapports combinés couvrant les phases de tests unitaires, d'intégration et système. La couverture issue de CPPUnit, GoogleTest et d'autres frameworks peut également être intégrée, offrant ainsi une vue d'ensemble complète de l'ensemble de votre programme de tests.

Tests de régression

Les projets de test sont automatiquement réexécutés sur la base des fichiers source mis à jour. Les résultats sont classés par date, heure, unité et nom de test, ce qui permet de repérer facilement les régressions introduites par des modifications incrémentielles du code.

Points de mesure et contrôle des données

Les points de sondage permettent d'apporter des modifications à l'exécution aux données ou au flux de contrôle, ce qui aide à orienter le code vers des chemins difficiles à atteindre. Les assertions capturent l'état du code à des moments précis de l'exécution, et les résultats sont consignés dans le rapport « Résultats d'exécution ».

API de rapports et de données

Les rapports sont disponibles au format XML, notamment un rapport « Probe Points » qui génère une liste analysable par des outils tiers. Une API de données complète basée sur Python est fournie pour créer des rapports personnalisés et mettre en place des intégrations avancées.

Environnement et intégration

Tests sur cibles embarquées

Grâce à VectorCAST RSP, les cas de test développés dans un environnement hôte peuvent être réexécutés directement sur votre cible embarquée. VectorCAST RSP s'intègre à votre compilateur croisé et à votre système d'exploitation temps réel (RTOS), ce qui le rend particulièrement adapté à la vérification du comportement des applications en temps réel sur le matériel cible.

Prise en charge de la norme C++ et des différentes plateformes

Prend en charge les normes C++11, C++14, C++17 et C++20 sur un large éventail de compilateurs, de simulateurs et d'architectures de processeurs. Fonctionne sous Windows et Linux avec une interface de ligne de commande complète.

Frequently Asked Questions

Vous souhaitez en savoir plus ? Contactez-nous !
Andreas Horn
Vous souhaitez en savoir plus ? Contactez-nous !
Remplissez le formulaire et nous vous contacterons pour répondre à vos questions et répondre à vos besoins !

Pages associées

VectorCAST

Automatisez les tests unitaires, d'intégration et de couverture pour les logiciels embarqués critiques pour la sûreté de fonctionnement écrits en C, C++ et Ada.

VectorCAST/Ada

Tests unitaires et d'intégration automatisés pour les composants logiciels Ada, couvrant les normes Ada 83 à Ada 2012, avec génération automatique de pilotes et de stubs, ainsi qu'une prise en charge de l'exécution sur cible.

VectorCAST/QA

Collectez des indicateurs de couverture de code et de qualité pour vos bases de code C, C++ et Ada sans modifier votre processus de compilation.

PC-lint Plus

PC-lint Plus offre une analyse statique approfondie et le support de la conformité à plusieurs normes pour le développement en C et C++. De MISRA à la norme ISO 26262, identifiez les problèmes à un stade précoce, vérifiez chaque suppression et livrez un code que vous pouvez défendre.

Squore

Découvrez comment Squore regroupe vos analyses statiques, votre couverture de test et la traçabilité des exigences au sein d'un seul tableau de bord, offrant ainsi à votre équipe des données objectives sur la qualité, depuis le premier commit jusqu'au dépôt de la demande de certification.

Découvrez comment Vector répond à toutes les exigences en matière de vérification

PC-lint Plus, VectorCAST et Squore permettent respectivement l'analyse statique, les tests dynamiques et la surveillance continue de la qualité des logiciels embarqués critiques pour la sécurité. PC-lint Plus est certifié par exida et VectorCAST par le TÜV, conformément aux normes ISO 26262, DO-178C, CEI 61508 et CEI 62304.