Logo Parasoft Rechercher

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

Conformité des logiciels ISO 26262 dans l'industrie automobile

Les tests de régression

Dans la plupart des processus de développement logiciel en C et C++ , des tests de régression sont effectués après chaque modification du logiciel. Ces tests permettent de déterminer si les nouvelles modifications ont un impact sur le fonctionnement existant du logiciel.

Les tests de régression sont nécessaires, mais ils indiquent seulement que les récentes modifications du code n'ont pas provoqué l'échec des tests. Rien ne garantit que ces changements fonctionneront. En outre, la nature des changements qui justifient la nécessité d'effectuer des tests de régression peut aller au-delà de l'application actuelle et inclure des modifications du matériel, du système d'exploitation et de l'environnement d'exploitation.

Tests de régression dans les logiciels critiques pour la sécurité

Dans le développement de logiciels critiques en C et C++ , la validation est essentielle pour garantir le bon fonctionnement, la sûreté et la sécurité. Des tests sont nécessaires pour confirmer toute modification apportée à l'application, assurer son bon fonctionnement et vérifier l'absence d'impacts imprévus sur le reste du système.

Si un cas de test qui a réussi auparavant échoue, une régression potentielle a été identifiée. Une nouvelle fonctionnalité pourrait être la cause de l'échec. Si tel est le cas, le cas de test devra peut-être être mis à jour en tenant compte de ces modifications des valeurs d'entrée et de sortie.

Les tests de régression des systèmes embarqués comprennent également l'exécution de :

  • Cas de test d'intégration
  • Cas de test système
  • Cas de test de performance
  • Cas de tests de résistance et plus

Il peut être nécessaire d'exécuter tous les cas de test précédemment créés pour s'assurer qu'aucune régression n'existe et qu'une nouvelle version fiable du logiciel est créée. Cela est essentiel car chaque nouvelle version d'un système ou d'un sous-système logiciel est construite ou développée. Si vous n'avez pas de base solide, tout peut s'effondrer.

Parasoft DTP permet de créer des référentiels de tests de régression sous forme d'ensemble organisé de tests et vérifie automatiquement tous les résultats. Ces tests s'exécutent automatiquement et régulièrement afin de vérifier si les modifications apportées au code altèrent ou perturbent les fonctionnalités couvertes par les tests de régression.

Si des modifications sont introduites, ces cas de test ne parviendront pas à alerter l'équipe du problème. Lors des tests suivants, DTP signalera les tâches si elle détecte des modifications du comportement capturé dans le test initial.

Comment décider quoi tester de régression?

Le principal défi des tests de régression est de déterminer les parties d'une application à tester. Il est courant de procéder par défaut à l'exécution de tous les tests de régression lorsqu'il existe un doute sur l'impact des modifications récentes du code : c'est l'approche du tout ou rien.

Pour les projets logiciels C et C++ de grande envergure, cela représente une tâche colossale et nuit à la productivité de l'équipe. Cette incapacité à se concentrer sur les tests compromet une grande partie des avantages des processus itératifs et continus, potentiellement exacerbés dans les logiciels embarqués où les cibles de test sont une ressource limitée.

Quelques tâches sont requises ici.

  • Identifiez les tests qui doivent être réexécutés.
  • Concentrez les efforts de test (tests unitaires, tests fonctionnels automatisés et tests manuels) sur la validation des fonctionnalités et du code associé qui sont impactés par les modifications les plus récentes.

Comprendre l'impact des changements de code sur les tests avec l'analyse d'impact des tests

Les développeurs et les testeurs peuvent obtenir une compréhension claire des changements dans la base de code entre les builds en utilisant le Process Intelligence Engine (PIE) de Parasoft DTP combiné à nos moteurs d'analyse de couverture propriétaires :

Pour Java

Logo JTest

Jtest

Pour C# et VB.NET

Icône du point bleu

pointTEST

Grâce à ces combinaisons, les équipes peuvent améliorer leur efficacité et tenir la promesse d’Agile.

Cette forme d'exécution de test intelligente est appelée analyse d'impact des tests. On parle parfois de tests basés sur les changements.

L'analyse d'impact des tests utilise les données collectées lors des exécutions de tests et les modifications de code entre les versions pour déterminer quels fichiers ont été modifiés et quels tests spécifiques ont affecté ces fichiers. Le moteur d'analyse de Parasoft peut analyser les différences entre deux versions et identifier le sous-ensemble de tests de régression à exécuter. Il prend également en compte les dépendances des unités modifiées afin de déterminer l'impact des modifications sur les autres unités.

Les solutions de test logiciel Jtest ( Java) et dotTEST (C# et VB.NET) de Parasoft permettent d'analyser l'impact des modifications logicielles. Chaque solution recommande les tests à ajouter et les tests de régression supplémentaires nécessaires. Voir l'exemple de rapport de test basé sur les modifications ci-dessous.

Une capture d'écran montre un rapport de test basé sur les modifications de Parasoft DTP montrant les zones testées et non testées du code.

Un exemple de rapport de test basé sur les modifications de Parasoft DTP montre les zones testées et non testées du code.

Un homme et une femme discutent à l'intérieur d'un bâtiment technologique

Améliorez vos tests logiciels avec les solutions Parasoft.

Contactez-Nous