Logo Parasoft

WEBINAIRE

Intégrez GoogleTest aux systèmes critiques pour la sécurité en toute confiance

GoogleTest est largement reconnu comme la référence en matière de tests unitaires en C++, apprécié pour sa flexibilité, sa syntaxe moderne et son intégration transparente avec les chaînes de développement les plus répandues. Cependant, GoogleTest ne répond pas à lui seul aux normes rigoureuses de traçabilité, de couverture de code et de certification requises dans les secteurs réglementés tels que l'automobile, l'aérospatiale, le médical et le ferroviaire.

Regardez ce webinaire informatif où nous explorerons comment adopter GoogleTest avec succès dans des environnements de développement critiques pour la sécurité. Vous découvrirez comment Parasoft C/C++test CT enrichit GoogleTest avec des fonctionnalités puissantes telles que la traçabilité des exigences, la couverture MC/DC, les rapports de conformité et la prise en charge des pipelines CI/CD.

 

Utilisation de GoogleTest dans les systèmes critiques pour la sécurité : conformité, couverture et CI réellement efficaces

Cette session a expliqué comment les équipes peuvent adopter ou continuer à utiliser GoogleTest dans les projets critiques pour la sécurité Sans compromettre la conformité. Les intervenants ont montré où GoogleTest excelle, où il échoue et comment Parasoft C/C++test CT comble les lacunes grâce à la couverture du code, la traçabilité des exigences et les rapports de conformité.

À retenir

  • GoogleTest est gratuit, léger et présente une faible barrière d'entrée, mais il nécessite des extras pour les industries critiques en matière de sécurité.
  • Parasoft C/C++test CT ajoute une couverture de code structurelle, des rapports de conformité et une traçabilité des exigences en plus de GoogleTest.
  • Les solutions présentées sont conçues pour s'intégrer de manière transparente dans les pipelines CI modernes, en appliquant des portes de qualité qui détectent les défauts manqués au début du SDLC.
  • La certification TÜV est importante lorsque des audits se présentent ; le test C/C++ CT est certifié et la qualification GoogleTest est en cours.

Pourquoi GoogleTest est populaire

GoogleTest est facile à configurer et s'intègre aux systèmes de build courants. L'API est claire, les assertions sont claires et GoogleMock facilite la gestion des dépendances complexes. Pour de nombreuses équipes, cela suffit à accélérer les tests unitaires.

Mais la vitesse seule ne suffit pas à répondre aux normes de sécurité telles que ISO 26262, DO-178C, IEC 62304 ou EN 50128. Les auditeurs demandent des preuves : ce que vous avez testé, la quantité de code que vous avez couverte et les exigences que ces tests vérifient.

L'écart de sécurité de GoogleTest est critique

GoogleTest n'offre pas de fonctionnalités requises par les normes de sécurité fonctionnelle, telles que :

  • Couverture structurelle (relevé, succursale et MC/DC)
  • Tests et traçabilité basés sur les exigences
  • Rapports de conformité et piste d'audit
  • Utilisation d'outils qualifiés pour garantir la fiabilité

Ce que Parasoft C/C++test CT ajoute

C/C++test CT ne remplace pas GoogleTest. Il l'accompagne, ainsi que d'autres frameworks (comme CppUnit ou Boost.Test), pour compléter les exigences de vérification manquantes :

  • Couverture: déclaration, branche et MC/DC, avec une analyse des écarts utile
  • Traçabilité bidirectionnelle : lier les tests aux exigences et générer des rapports
  • Flux de travail CI : ligne de commande, conteneurs et intégration avec de vastes systèmes de construction
  • Rapports: HTML, JSON et tableaux de bord via Parasoft DTP
  • Tests sur cible : capturer les résultats du matériel réel lorsque cela est nécessaire
  • Attestation: C/C++test CT est certifié TÜV ; une distribution GoogleTest certifiée TÜV est en cours de préparation

Comparaison rapide

RégionGoogleTestTest CT C/C++
PrixGratuitAutorisé
installationRapideBasé sur CLI, compatible CI
CouvertureBasique (via des outils externes)Déclaration, succursale, MC/DC
TraçabilitéManuel (Le français commence à la page neuf)Liens et rapports intégrés
RapportsUn petit peuIntégration HTML/JSON + tableau de bord
Certification des outilsAucunCertifié TÜV
Portes CIScripts personnalisésPortails intégrés de qualité
Courses cibléesPossiblePrise en charge de la capture de couverture

Démo du workflow : de la branche à la fusion

La démo a montré l'utilisation GoogleTest avec C/C++test CT dans une configuration CI conteneurisée :

  • Le développeur ajoute une nouvelle fonctionnalité ainsi que des cas GoogleTest et balise chaque test avec les ID d'exigence associés.
  • Le test CT C/C++ collecte la couverture pendant la construction. Les résultats sont affichés au format texte, HTML et JSON, et l'extension VS Code met en évidence les lignes couvertes directement dans l'éditeur.
  • Une demande d'extraction déclenche le pipeline. Les portes de qualité vérifient l'instruction et le MC/DC sur le nouveau code.
  • Le premier essai échoue sur MC/DC. Le rapport de couverture répertorie les vecteurs de test manquants et propose même le plus petit ensemble pour combler l'écart. Le développeur ajoute un test pour la couverture de condition manquante et relance.
  • Les portes passent, le code est fusionné et le pipeline de la branche principale envoie les résultats des tests à Parasoft DTP pour les tendances, la progression de la couverture et l'état de conformité.

Conseils pratiques pour les équipes

  • Conservez GoogleTest, mais ajoutez C/C++test CT pour la couverture du code, la traçabilité et les rapports.
  • Étiquetez les tests avec les identifiants d'exigences dès le premier jour pour assurer la traçabilité. N'attendez plus.
  • Considérez MC/DC comme une spécification de fonctionnalité. Si vous n'y parvenez pas, vérifiez vos conditions ou vos tests.
  • Utilisez les portes de qualité CI pour augmenter progressivement la qualité du code sans ralentir l'ensemble du référentiel.
  • Implémentez des chaînes d’outils conteneurisées afin que les machines de développement correspondent à CI.

Certification et la voie à suivre

Les autorités de vérification se soucient de la certification des outils. C/C++test CT est déjà certifié TÜV. Parasoft travaille à la qualification de GoogleTest afin que les équipes l'utilisent pour la vérification et la validation des systèmes critiques pour la sécurité.

Conclusion

Parasoft et C/C++test CT, qui s'adressent aux équipes des secteurs réglementés, fournissent le lien manquant certifié qui comble le fossé entre les exigences non négociables des normes de sécurité telles que ISO 26262 et IEC 62304. Ils transforment votre flux de travail de test habituel en un outil puissant, conforme et prêt pour l'audit.