Découvrez GoogleTest certifié TÜV avec Agentic AI pour les tests C/C++ !
Plus de détails »
Explorez les chapitres
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.
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 :
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.
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.
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
Pour C# et VB.NET
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.
Un exemple de rapport de test basé sur les modifications de Parasoft DTP montre les zones testées et non testées du code.
Explorez les chapitres