Webinaire en vedette : Simplifiez les flux de travail de conformité avec le nouveau test C/C++ 2024.2 et l'automatisation pilotée par l'IA Visionnez maintenant

Outils et solutions de tests C et C++

Les outils et solutions complets de test C et C++ de Parasoft rationalisent et améliorent l'efficience et l'efficacité du développement, des tests et de la conformité aux normes de logiciels C/C++.

Garantissez la qualité et la sécurité avec les outils de test C/C++

Nos outils de test C/C++ permettent aux développeurs de garantir la qualité, la sûreté et la sécurité tout au long du cycle de vie du développement logiciel, en fournissant des capacités de test robustes pour détecter et prévenir les problèmes potentiels.

Vérifiez la qualité du code avec l'analyse statique

Identifiez automatiquement les défauts et les vulnérabilités de sécurité et garantissez le respect des normes de codage grâce à une analyse statique puissante.

Aller à: Analyse statique »

Effectuer des tests unitaires complets

Évaluez minutieusement la fonctionnalité et les performances des unités de code individuelles, en garantissant la robustesse et la fiabilité tout au long du SDLC.

Aller à: Tests unitaires »

Tests complets avec couverture du code

Garantissez l’exhaustivité des tests et permettez une évaluation approfondie de la fonctionnalité, de la sûreté et de la sécurité des logiciels afin de fournir des produits de qualité supérieure et d’améliorer la satisfaction des clients.

Aller à: Couverture de code "

Automatisez la traçabilité des exigences

Suivez et reliez en toute transparence les exigences aux cas de test dans le SDLC pour garantir la vérification des logiciels et l'alignement entre les spécifications et la mise en œuvre.

Aller à: Traçabilité "

Analyse d'exécution pour l'optimisation

Une analyse approfondie de l'exécution détecte les fuites de mémoire, la corruption de la mémoire, les dépassements de tampon et d'autres comportements imprévisibles tels que les vulnérabilités de sécurité.

Aller à: Analyse d'exécution »

Tests de sécurité pour une défense robuste

Renforcez les logiciels contre les menaces et les vulnérabilités grâce à l'analyse statique, à l'analyse dynamique et aux tests de couverture de code pour le code C/C++.

Aller à: Sécurité "

Assurer la sécurité fonctionnelle et les normes de conformité

Automatisez les exigences de vérification et de validation définies par les normes industrielles telles que ISO 26262, IEC 61508, EN 50128, etc.

Aller à: Conformité "

Rapports et analyses pour les informations

Respectez tous les délais. Surveillez et contrôlez vos processus de développement logiciel, de qualité et de conformité. Générez en toute transparence des rapports axés sur les normes.

Aller à: Rapports »

Améliorez la qualité du code grâce à l'analyse statique

Les équipes de développement C et C++ peuvent analyser en profondeur leur base de code pour détecter les défauts potentiels, les vulnérabilités de sécurité et le respect des normes de codage à l'aide du test Parasoft C/C++.

Comment ça fonctionne

Notre solution d'analyse statique aide les organisations de développement de logiciels C/C++ à satisfaire aux normes de conformité en matière de codage réglementaire liées à la sûreté, à la sécurité et à la fiabilité. L'analyse statique de C/C++test s'intègre de manière transparente aux IDE préférés des développeurs, comme VS Code ou Eclipse, et aux pipelines de développement CI/CD modernes. Tirant parti d'algorithmes sophistiqués pour détecter les vulnérabilités potentielles, les fuites de mémoire et les problèmes critiques, notre solution garantit la conformité aux normes de codage.

Utilisant une combinaison de reconnaissance de formes, d'analyse basée sur des règles, d'analyse des flux de données et de contrôle et d'analyse des métriques, C/C++test offre une couverture complète pour identifier les problèmes critiques, les pièges potentiels et les domaines à améliorer. Les équipes peuvent adapter et créer des règles ou des configurations personnalisées pour s'aligner sur les exigences spécifiques du projet ou les mandats de conformité tels que MISRA, CERT, AUTOSAR C++ 14, et plus encore.

Une fois intégré au workflow de développement, notre outil de test unifié C/C++ peut garantir des tests continus à chaque étape du développement, depuis la validation initiale du code jusqu'au déploiement final. Cette automatisation de l'atténuation des risques optimise la productivité et améliore la qualité globale des projets logiciels.

« MISRA », « MISRA C » et le logo triangulaire sont des marques déposées de The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Tous droits réservés.

Capture d'écran de la fenêtre de configuration de l'analyse statique du test C/C++ MISRA C 2023.

Effectuer des tests unitaires pour l’assurance qualité

Notre Tests unitaires C/C++ Les solutions fournissent aux équipes de développement un cadre complet pour des capacités transparentes de création, d'exécution et de régression de tests. De puissants frameworks de stubbing et de simulation avec intégration IDE permettent aux développeurs de se concentrer sur la qualité du code et d'accélérer la livraison des projets.

Comment ça fonctionne

Les développeurs et testeurs C et C++ peuvent rationaliser les processus de tests unitaires en automatisant la création de tests unitaires, y compris des simulations, des stubs et des assertions, afin d'isoler efficacement l'unité testée et de garantir un fonctionnement sans faille des scénarios de test. 

Créez ou générez automatiquement des tests unitaires sans effort à l'aide de l'explorateur de cas de test, d'une interface utilisateur graphique intuitive ou d'un assistant convivial. La génération automatique de stub pour les fonctions manquantes ou non définies isole les unités de code et facilite le processus de test. En effectuant des tests unitaires à différents niveaux (comme le projet, le fichier et la fonction) avec des vues informatives, les équipes identifient et résolvent rapidement les problèmes. 

Les équipes peuvent également exécuter des tests unitaires sur le matériel cible pour répondre à des exigences strictes en matière de sécurité. Pour s'adapter à divers déploiements de tests unitaires open source, C/C++test CT s'intègre de manière transparente aux frameworks de tests unitaires populaires tels que GoogleTest, Boost.Test, CppUnit et aux solutions personnalisées pour intégrer la couverture de code.

Des rapports de tests unitaires complets aident à satisfaire les exigences de conformité. Des analyses avancées en collaboration avec Parasoft DTP permettent des rapports interactifs et une traçabilité bidirectionnelle transparente des exigences avec les solutions ALM/REQ, améliorant ainsi l'efficience et l'efficacité globales des tests.

Garantissez des tests complets avec une couverture de code

Assurez des tests approfondis, respectez les exigences réglementaires, réduisez les risques et améliorez l'assurance de la sécurité avec les solutions de couverture de code de Parasoft pour le développement C/C++. Vérifiez que chaque ligne de code a été testée pour réduire le risque de défauts non détectés provoquant des pannes du système.

Comment ça fonctionne

Utilisez une combinaison de techniques pour garantir que la couverture du code pour les applications intégrées de sécurité et de sécurité répond aux normes de conformité. L'instrumentation du code est au cœur de cet effort, qui implique l'intégration de code supplémentaire dans la base de code utilisateur pour suivre l'exécution des instructions, des branches et des structures de code MC/DC. Souvent, la couverture du code doit être collectée directement à partir du matériel cible, ce que font nos solutions. 

En collaboration avec Parasoft DTP, nos solutions de couverture de code C/C++ collectent des mesures de couverture et produisent une documentation indispensable pour les applications critiques pour la sécurité. Les rapports générés détaillent l'état d'exécution de chaque ligne de code, qu'il soit entièrement, partiellement ou non couvert. Ces données servent de référence essentielle pour les équipes de développement et les auditeurs de certification, facilitant l'évaluation de la conformité de la couverture du code. 

Il est impératif que les outils d'analyse de couverture de code soient certifiés TÜV pour une utilisation dans des applications critiques en matière de sécurité, telles que les tests C/C++, C/C++test CT* et DTP.

*Certification attendue au troisième trimestre 3.

Automatisez la traçabilité des exigences

Simplifiez le processus de liaison des cas de test aux exigences qu’ils vérifient grâce à l’automatisation. Tirez parti de nos solutions de tests de développement C et C++ pour produire une matrice de traçabilité des exigences qui prouve que toutes les exigences ont été testées.

Comment ça fonctionne

Tests Parasoft C/C++ les solutions établissent une connexion à Parasoft DTP et de DTP à l'outil de gestion du cycle de vie des applications (ALM) ou de gestion des exigences qui héberge les exigences. 

Le processus de traçabilité des exigences commence par l'importation des exigences de la solution ALM dans la PAO. Les exigences peuvent ensuite être transmises au test C/C++, établissant une traçabilité bidirectionnelle entre les cas de test et jusqu'au code si vous le souhaitez. 

Bien que différentes implémentations existent pour C/C++test CT via son interface CLI, il relie également les cas de test aux exigences de traçabilité bidirectionnelle.

Nos solutions de test C/C++ facilitent la liaison transparente entre les scénarios de test et les exigences en annotant chaque scénario de test approprié avec son ID d'exigence unique correspondant. La traçabilité est utilisée pour créer une matrice de traçabilité des exigences, identifier les lacunes manquantes et garantir que chaque exigence est correctement validée.

Lire le blog: Gestion des exigences et matrice de traçabilité »

 

Effectuer une analyse d'exécution pour optimiser les performances

Optimisez le code C et C++ en effectuant une analyse d'exécution pour détecter les défauts d'exécution, les problèmes de stabilité et les vulnérabilités de sécurité telles que les fuites de mémoire, les pointeurs nuls et les dépassements de tampon.

Comment ça fonctionne

Parasoft C/C++test peut instrumenter la base de code d'une application pour activer la surveillance lorsque l'application est en cours d'exécution, identifiant les défauts graves, les problèmes de stabilité et les vulnérabilités de sécurité, telles que :

  • Fuites de mémoire
  • Corruption de la mémoire
  • Lecture de la mémoire non initialisée
  • Accéder à la mémoire à l'aide d'un pointeur hors de portée, par exemple en cas de débordement de tampon
  • Accéder à la mémoire à l'aide d'un pointeur nul
  • Utilisation de free () sur un pointeur invalide

 

 

Capture d'écran de la fenêtre de configuration du test C/C++ avec application de build d'exécution avec options de surveillance de la mémoire.
Capture d'écran de la fenêtre de configuration du test C/C++ avec les options générales du mode d'exécution.

Les capacités d'analyse d'exécution fournissent des configurations de test prédéfinies pour prendre en charge les applications natives et intégrées avec des allocations de mémoire de style C (malloc/free). L'analyse peut être effectuée pendant les tests unitaires et d'intégration pour valider des scénarios et des chemins d'exécution spécifiques et pendant les tests système pour surveiller l'application entièrement intégrée.

Les défauts détectés lors des tests d'exécution apparaissent directement dans l'EDI du développeur et sont corrélés avec d'autres résultats de tests et mesures de qualité, tels que la couverture du code ou les résultats de l'analyse statique, pour une image complète de l'application testée, ce qui facilite la compréhension de la cause première du runtime. défauts.

Regardez le webinaire: Simplifiez les tests logiciels sur le matériel cible »

Garantir des tests de sécurité pour une défense robuste

Un processus complet de tests de sécurité évalue les systèmes logiciels pour détecter et atténuer les vulnérabilités qui pourraient compromettre leur intégrité, leur confidentialité et leur disponibilité. Nos solutions d'analyse et de test systématiques permettent aux testeurs de sécurité d'identifier les faiblesses et les failles dans l'architecture, la conception et la mise en œuvre des logiciels.

Comment ça fonctionne

Garantir la sécurité des logiciels nécessite une approche systématique à travers le SDLC. Voici ce qu'il faut faire :

  1. Effectuez une analyse approfondie des menaces. Examinez l’architecture, la conception et la mise en œuvre du système pour détecter les vulnérabilités potentielles.
  2. Pour la mise en œuvre, la première ligne de défense consiste à adopter des normes de codage sécurisées telles que CERT C/C++ ou MISRA C/C++. 
  3. Appliquez le test Parasoft C/C++ pour l'analyse de code statique afin de guider le développement et d'identifier les pièges de sécurité courants tels que les débordements de tampon, les déréférences de pointeurs nuls, l'utilisation de bibliothèques non sécurisées, etc.
  4. Les équipes peuvent effectuer une analyse dynamique du code pour valider la mise en œuvre correcte des exigences de sécurité à l'aide de notre solution, ce qui implique diverses méthodes, telles que les tests unitaires, d'intégration, de système et de régression. En utilisant la couverture du code C/C++test ou C/C++test CT, les équipes assurent des tests complets de toutes les fonctionnalités de sécurité implémentées.
  5. Maintenez la traçabilité et la responsabilité en établissant des liens clairs entre vos scénarios de tests de sécurité et les exigences qu'ils valident à l'aide de C/C++test ou C/C++test CT. 

En intégrant ces pratiques dans le processus de développement logiciel, les équipes renforcent la posture de sécurité de leurs logiciels, réduisant ainsi la probabilité de vulnérabilités et d'exploits de sécurité.

Atteindre la conformité aux normes de sécurité fonctionnelle

Les organisations peuvent tirer parti des solutions de test de Parasoft pour les logiciels C/C++ afin de garantir que leurs produits répondent aux exigences strictes de vérification et de validation définies par les normes industrielles telles que ISO 26262, IEC 61508, etc.

Capture d'écran du tableau de bord DTP FDA Compliance contenant les mesures de qualité du code.

Comment ça fonctionne

La conformité aux normes de sécurité fonctionnelle nécessite le respect méticuleux de réglementations et de directives rigoureuses. Il est essentiel de comprendre les normes de sécurité fonctionnelle spécifiques applicables à votre secteur et à vos produits, par exemple la norme ISO 26262 pour l'automobile ou la CEI 61508 pour les applications industrielles générales.

Effectuer une analyse des lacunes pour identifier les domaines dans lesquels les processus et pratiques de développement actuels ne répondent pas aux exigences de la norme. Comprendre ce qui doit être abordé pour assurer la conformité aide les équipes à mettre en place des processus et des procédures conformes aux exigences de la norme de sécurité fonctionnelle. Cela peut impliquer l'établissement de nouvelles pratiques pour la gestion des exigences, l'analyse des risques, les tests, la validation et la vérification. Se conformer aux normes de sécurité n’est pas différent.

Nos solutions garantissent des tests, une vérification et une validation appropriés et approfondis grâce à :

  • Analyse statique
  • Analyse dynamique
  • Couverture du code structurel
  • Traçabilité des exigences

Une documentation complète tout au long du processus de développement fournit des preuves de conformité. Il comprend des spécifications d'exigences, des évaluations de risques, des rapports de test et généralement une certification d'outils comme les certificats TÜV SÜD de Parasoft.

En intégrant des pratiques de sécurité fonctionnelle dans le SDLC, les équipes assurent la conformité et garantissent la sécurité et la fiabilité des produits.

Capture d'écran du test CT C/C++ exécuté sur l'éditeur VS Code montrant les cas de tests unitaires Google Test et les liens vers les exigences de Jira XRay.

Obtenez des informations grâce aux rapports et aux analyses

Répondez aux exigences de conformité et gérez la qualité des applications en regroupant et en analysant automatiquement les résultats des tests, puis en produisant les rapports nécessaires pour vous conformer aux normes de l'industrie.

Capture d'écran du tableau de bord de couverture des applications DTP avec des métriques de widget sur la couverture du code, les tests unitaires, les tests manuels et les tendances.

Comment ça fonctionne

La plate-forme de reporting et d'analyse de Parasoft, DTP, importe automatiquement les résultats de tests logiciels suivants produits par C/C++test et C/C++test CT dans le cadre du flux de travail de développement :

  • Analyse statique
  • Tests unitaires
  • Couverture de code
  • Traçabilité des exigences   

DTP s'intègre à des solutions de gestion des exigences telles que Jama, Codebeamer, Polarion et Jira pour aider à répondre aux besoins de vérification de conformité en matière de traçabilité des exigences. Le tableau de bord de DTP met en évidence : 

  • Progrès vers la conformité 
  • Domaines nécessitant des tests supplémentaires 
  • Qualité globale de la candidature 

 

Les graphiques visuels et les tendances offrent aux équipes un moyen simple de hiérarchiser les efforts en fonction des lacunes de couverture et des fonctionnalités critiques. Les équipes peuvent rapidement assembler des vues personnalisées reflétant leur processus qualité grâce à un tableau de bord flexible par glisser-déposer qui fournit plus de 50 widgets prêts à l'emploi classés par catégories et codés par couleur.

La génération automatique de documentation réduit la charge administrative associée à la démonstration de conformité. DTP est certifié par TÜV SÜD pour le développement de logiciels liés à la sécurité, ce qui rationalise le processus de qualification des outils, éliminant ainsi le besoin d'efforts de test et de vérification supplémentaires nécessaires pour qualifier les outils non certifiés.

Capture d'écran d'un rapport de couverture de code dans GitHubPages produit par C/C++test CT.