Webinaire en vedette : Tests d'API améliorés par l'IA : une approche de test sans code | Voir le séminaire
Les tests de régression
Dans le cadre de la plupart Développement de logiciels C et C++ Les tests de régression sont effectués après que des modifications ont été apportées au logiciel. Ces tests déterminent 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é
In développement de logiciels C et C++ critiques pour la sécurité, la validation est essentielle pour prouver le bon fonctionnement, la sécurité et la sûreté. Des tests sont nécessaires pour confirmer toute modification apportée à l'application afin de garantir sa fonctionnalité et de vérifier qu'il n'y a pas d'impact imprévu 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.
Tests de régression des systèmes embarqués comprend é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.
PAO Parasoft prend en charge la création de bases de test de régression sous forme d'un ensemble organisé de tests et vérifie automatiquement tous les résultats. Ces tests s'exécutent automatiquement régulièrement pour vérifier si les modifications de code modifient ou interrompent la fonctionnalité capturée dans 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 :
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.
Tester l'analyse d'impact utilise les données collectées lors des tests et des modifications de code entre les builds pour déterminer quels fichiers ont changé et quels tests spécifiques ont touché ces fichiers. Le moteur d'analyse de Parasoft peut analyser le delta entre deux builds et identifier le sous-ensemble de tests de régression qui doivent être exécutés. Il comprend également les dépendances sur les unités modifiées pour déterminer l'effet d'entraînement des modifications sur les autres unités.
Jtest de Parasoft pour Tests Java et les solutions de test de logiciels dotTEST pour C# et VB.NET fournissent un aperçu de l'impact des modifications logicielles. Chaque solution recommande où ajouter des tests et où des tests de régression supplémentaires sont nécessaires. Voir l'exemple de rapport de test basé sur les modifications ci-dessous.
Améliorez vos tests logiciels avec les solutions Parasoft.
Explorez les chapitres
- Introduction "
- 1. Aperçu »
- 2. Analyse statique »
- 3. MISRA »
- 4. AUTOSAR C++ 14 »
- 5. SEI/CERT »
- 6. CWE »
- 7. Tests unitaires »
- 8. Tests de régression »
- 9. Tests d'intégration de logiciels »
- 10. Test du système logiciel »
- 11. Couverture du code structurel »
- 12. Matrice de traçabilité des exigences »
- 13. Qualification des outils »
- 14. Rapports et analyses »