Logo Parasoft Rechercher

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

Blog Parasoft

Simplifiez et rationalisez les tests embarqués avec Parasoft C/C++test

Portrait de Miroslaw Zielinski, directeur de la gestion des produits
By Miroslaw Zielinski • 12 mai 2021 • 5 min de lecture
12 mai 2021 | 5 min de lecture
By Miroslaw Zielinski
Texte à gauche en police blanche sur fond bleu foncé : Simplifiez et rationalisez les tests intégrés avec la nouvelle version Parasoft C/C++test. Sur la droite, des flux de lumières de mouvement volent du coin inférieur gauche au coin supérieur droit. La couleur du haut est bleue, celle du milieu est violette et celle du bas est rouge.

Les tests embarqués présentent plusieurs défis. Découvrez comment la sortie de Parasoft C/C++test 2021.1 peut simplifier les tests automatisés embarqués et vous aider à respecter les normes de conformité.

Avec la sortie de Parasoft C/C++test 2021.1 , les équipes de test et de développement embarquées bénéficient de la rapidité et de l'efficacité d'un pipeline CI/CD moderne et hautement automatisé . Cette dernière version offre aux équipes des tests statiques et unitaires entièrement intégrés pour une conformité et une qualité continues.

Cette nouvelle version continue de prendre pleinement en charge les dernières normes de conformité, y compris la version la plus récente de MISRA C 2012. Afin d'assurer efficacement la conformité aux directives de sécurité DISA ASD STIG , la version C/C++test 2021.1 introduit une nouvelle configuration et une prise en charge améliorée.

Cette version introduit de nouvelles fonctionnalités pour l'analyse architecturale logicielle et continue de nous concentrer sur les flux de travail basés sur Git.

  • Intégration GitHub dédiée avec de nouveaux rapports d'analyse statique au format SARIF
  • Extension améliorée pour le plugin Visual Studio Code

Les autres améliorations importantes incluent:

  • Nouvelle extension de couverture de code pour les projets CMake
  • Déploiements de tests C / C ++ rationalisés
  • Prise en charge des rapports de traçabilité des exigences Jama
  • Prise en charge de nouveaux compilateurs et IDE
Découvrez le test Parasoft C++ en action !
Démonstration de la plateforme

Intégration GitHub dédiée

L'intégration de C/C++test aux workflows GitHub est désormais simplifiée. Cette nouvelle version propose une action GitHub dédiée, « Exécuter Parasoft C/C++test » , qui permet d'effectuer une analyse de code avec Parasoft C/C++test et de consulter les résultats directement sur GitHub. La documentation de l'action inclut des exemples de workflows GitHub pouvant servir de base à vos propres workflows. Pour en savoir plus, consultez la documentation de l'action GitHub C/C++test.

Capture d'écran du flux de travail GitHub incluant les résultats d'analyse statique C/C++test disponibles dans l'onglet Sécurité, sous l'appellation « Alertes d'analyse de code ».

La nouvelle action GitHub simplifie l'intégration de C/C++test aux workflows et permet de générer de nouveaux rapports d'analyse statique au format SARIF, automatiquement téléchargés sur GitHub. Lorsque C/C++test est inclus dans le workflow GitHub, les résultats de l'analyse statique sont disponibles dans l'onglet Sécurité sous forme d'alertes d'analyse de code. Ils sont également inclus dans vos pull requests. Le déploiement de l'analyse statique est ainsi fluide et parfaitement intégré à vos workflows.

Extension améliorée pour le plug-in Visual Studio Code

La popularité de notre extension pour Visual Studio Code ne cesse de croître et, par conséquent, nous continuons à l'améliorer. Notre mise à jour la plus récente simplifie l'utilisation de VSCode pour les flux de travail CI / CD.

Les utilisateurs peuvent désormais télécharger les résultats d'analyse statique générés dans le pipeline directement dans cet éditeur de code favori et travailler sur les problèmes sans basculer entre VSCode et le navigateur. Ces petites choses de productivité nous importent!

Il existe également une commande dédiée à GitHub, qui reconnaît votre dépôt actuel et localise automatiquement le rapport d'analyse statique généré par l' action GitHub « Exécuter Parasoft C/C++test » . Une fois les résultats importés, vous pouvez les analyser dans la vue Problèmes et accéder directement au code problématique pour le corriger.

Capture d'écran de l'extension améliorée du plugin de code Visual Studio montrant les résultats de charge de test C / C ++ à partir de GitHub

Il existe une variante plus générique de cette action qui permet de télécharger les résultats d'analyse statique de C/C++test à l'aide d'une URL. Vous pouvez l'utiliser pour accéder aux résultats générés par Jenkins ou une autre plateforme CI/CD. Pour en savoir plus sur cette fonctionnalité, téléchargez ou mettez à jour l'extension depuis le Microsoft Marketplace . Accédez à l'onglet « Détails » de la page d'accueil de l'extension.

Nouvelle extension de couverture de code pour les projets CMake

Si vous utilisez CMake pour créer votre code, vous pouvez désormais intégrer de manière transparente les mesures de couverture de code dans votre projet et mieux comprendre l'exhaustivité de vos tests afin de répondre aux exigences des normes de sécurité fonctionnelle en matière de couverture de code.

La couverture du code de test C / C ++, contrairement à gcov, prend en charge toutes les métriques de couverture pertinentes, y compris la couverture des instructions, des branches, des MC / DC, des fonctions et des appels, qui sont importantes pour des normes telles que ISO 26262.

Notre nouvelle extension génère également des rapports de couverture de code à partir de votre intégration et de vos tests au niveau du système, que vous pouvez ensuite fusionner avec le rapport de couverture du code de test unitaire déjà disponible.

L'ajout de l'extension à votre projet est très simple. Il vous suffit d'ajouter une directive « include » à votre fichier CMakeLists.txt existant, et le tour est joué. L'extension a déjà été validée avec les moteurs de build Make et Ninja.

Utilisation du test Parasoft C / C ++ avec CMake pour les tests unitaires
Lire le blog

Pour les praticiens actuels de Parasoft, l'exemple de projet « Timer » existant depuis longtemps a été étendu pour démontrer l'utilisation du test Parasoft C/C++ avec CMake pour les tests unitaires.

Déploiements de tests C / C ++ rationalisés

Dans la version 2020.2, nous avons introduit une version préliminaire de nos programmes d'installation simplifiés basés sur des archives pour C / C ++ test Professional (Eclipse). Dans la version 2021.1 actuelle, les programmes d'installation basés sur des archives sont officiels et remplacent les programmes d'installation de style exécutable désormais obsolètes. Cela fait partie de nos efforts continus pour rationaliser et moderniser les déploiements à l'ère du cloud, de la virtualisation et de la conteneurisation.

Si vous n'avez pas encore eu l'occasion de mettre à jour votre processus d'installation, vous pouvez toujours télécharger les anciens programmes d'installation via le portail client. Veuillez noter que nous prévoyons de les supprimer dans une prochaine version.

La transition vers les nouveaux installateurs est exceptionnellement fluide en fonction des commentaires de tous nos premiers utilisateurs. Si vous utilisez le test C / C ++ de manière autonome, tout ce que vous avez à faire est de décompresser le package à l'endroit de votre choix et de commencer à utiliser l'outil. Pour ceux qui ont déjà un processus de déploiement automatisé, qui inclut par exemple la préparation de conteneurs Docker, vos scripts seront certainement plus simples à configurer.

Si vous avez besoin de plus d'informations, un guide de migration succinct est disponible sur le portail client pour faciliter votre transition.

Prise en charge de la traçabilité et du reporting des exigences Jama

Parmi les nombreuses intégrations que nous avons ajoutées dans cette version, il y a une intégration avec Jama connect, pour la traçabilité des exigences, la gestion des risques et des tests.

Avec cette nouvelle intégration, les résultats des tests unitaires de test C / C ++ sont corrélés dans Parasoft DTP avec les exigences Jama et présentés sous la forme de rapports de traçabilité nécessaires à la conformité aux normes de sécurité fonctionnelle. Le DTP transmet également les résultats des tests unitaires à Jama en les incorporant dans les exigences ou les spécifications de test appropriées.

En outre, lors de l'examen des résultats d'analyse statique ou de test unitaire dans DTP, les utilisateurs peuvent créer automatiquement un élément de travail / une tâche dans Jama pour résoudre les violations de codage et les bogues logiciels identifiés.

Prise en charge des nouveaux compilateurs et IDE

Avec 2021.1, nous introduisons l'intégration avec la version 10.x de Code Composer Studio de Texas Instrument et, comme d'habitude, une collection des nouvelles configurations de compilateur prises en charge. Voici une liste rapide.

  • Compilateur IAR BXARM pour ARM v. 8.50.x
  • Compilateur de logiciels Green Hills pour ARM64 v. 2020_1.x
  • QNX GCC 8.x (x86-64)
  • QNX GCC 8.x (ARM64)
  • Compilateur TI ARM C / C ++ v20.2

Regard sur l'avenir

Avec de plus en plus d'équipes passant aux plates-formes CI / CD basées sur Git, nous continuerons nos efforts pour simplifier nos intégrations dans ces systèmes populaires. De même, comme nous l'avons fait avec GitHub dans la version actuelle, nous prévoyons de créer des intégrations avec d'autres solutions CI / CD populaires. Et nous examinerons l'adoption de nouvelles règles d'analyse statique, offrant une couverture de code encore plus rationalisée et de nombreuses autres fonctionnalités utiles.

Découvrez le test Parasoft C/C++ en action !
Démonstration de la plateforme

« 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.