![](https://cdn.css-code.org/1427988/what_is_regression_testing_definition-_test_cases_example.jpg.webp)
Qu'est-ce que le test de régression?
TEST DE REGRESSION est défini comme un type de test logiciel pour confirmer qu'un programme récent ou un changement de code n'a pas eu d'incidence négative sur les fonctionnalités existantes.
Les tests de régression ne sont rien d'autre qu'une sélection complète ou partielle de cas de test déjà exécutés qui sont réexécutés pour garantir le bon fonctionnement des fonctionnalités existantes.
Ces tests sont effectués pour s'assurer que les nouvelles modifications de code ne devraient pas avoir d'effets secondaires sur les fonctionnalités existantes. Cela garantit que l'ancien code fonctionne toujours une fois les dernières modifications de code effectuées.
Dans ce tutoriel, nous allons apprendre
- Besoin de tests de régression
- Comment faire des tests de régression
- Sélection de cas de test pour les tests de régression
- Outils de test de régression
- Test de régression et gestion de la configuration
- Différence entre les re-tests et les tests de régression
- Défis des tests de régression
- Application pratique d'un exemple de test de régression avec une vidéo
Besoin de tests de régression
Le besoin de tests de régression survient principalement chaque fois qu'il est nécessaire de changer le code et que nous devons tester si le code modifié affecte ou non l'autre partie de l'application logicielle. De plus, des tests de régression sont nécessaires, lorsqu'une nouvelle fonctionnalité est ajoutée à l'application logicielle et pour la correction des défauts ainsi que la résolution des problèmes de performances.
Comment faire des tests de régression
Afin de faire le processus de test de régression , nous devons d'abord déboguer le code pour identifier les bogues. Une fois les bogues identifiés, les modifications nécessaires sont apportées pour les corriger, puis les tests de régression sont effectués en sélectionnant les cas de test pertinents dans la suite de tests qui couvre à la fois les parties modifiées et affectées du code.
La maintenance logicielle est une activité qui comprend des améliorations, des corrections d'erreurs, l'optimisation et la suppression de fonctionnalités existantes. Ces modifications peuvent entraîner un dysfonctionnement du système. Par conséquent, les tests de régression deviennent nécessaires. Les tests de régression peuvent être effectués à l'aide des techniques suivantes:
![](https://cdn.css-code.org/1427988/what_is_regression_testing_definition-_test_cases_example_2.jpg.webp)
![](https://cdn.css-code.org/1427988/what_is_regression_testing_definition-_test_cases_example.jpg.webp)
Tout retester
- Il s'agit de l'une des méthodes de test de régression dans laquelle tous les tests du bucket ou de la suite de tests existants doivent être réexécutés. Cela coûte très cher car cela nécessite énormément de temps et de ressources.
Sélection du test de régression
La sélection de test de régression est une technique dans laquelle certains cas de test sélectionnés de la suite de tests sont exécutés pour tester si le code modifié affecte ou non l'application logicielle. Les cas de test sont classés en deux parties, les cas de test réutilisables qui peuvent être utilisés dans d'autres cycles de régression et les cas de test obsolètes qui ne peuvent pas être utilisés dans les cycles suivants.
Hiérarchisation des cas de test
- Hiérarchisez les cas de test en fonction de l'impact commercial, des fonctionnalités critiques et fréquemment utilisées. La sélection de cas de test en fonction de la priorité réduira considérablement la suite de tests de régression.
Sélection de cas de test pour les tests de régression
Il a été constaté à partir des données de l'industrie qu'un bon nombre des défauts signalés par les clients étaient dus à des corrections de bogues de dernière minute créant des effets secondaires et, par conséquent, la sélection du scénario de test pour les tests de régression est un art et pas si facile. Des tests de régression efficaces peuvent être effectués en sélectionnant les cas de test suivants -
- Cas de test présentant des défauts fréquents
- Des fonctionnalités plus visibles pour les utilisateurs
- Cas de test qui vérifient les principales fonctionnalités du produit
- Cas de test de fonctionnalités qui ont subi de plus en plus de modifications récentes
- Tous les cas de test d'intégration
- Tous les cas de test complexes
- Scénarios de test de valeur limite
- Un échantillon de cas de test réussis
- Un échantillon de cas de test d'échec
Outils de test de régression
Si votre logiciel subit des modifications fréquentes, les coûts des tests de régression augmenteront. Dans de tels cas, l'exécution manuelle des cas de test augmente le temps d'exécution des tests ainsi que les coûts. L'automatisation des cas de test de régression est le choix judicieux dans de tels cas. L'étendue de l'automatisation dépend du nombre de cas de test qui restent réutilisables pour des cycles de régression successifs.
Voici les outils les plus importants utilisés pour les tests fonctionnels et de régression en génie logiciel:
Selenium : Il s'agit d'un outil open source utilisé pour automatiser les applications Web. Le sélénium peut être utilisé pour les tests de régression basés sur un navigateur.
Quick Test Professional (QTP) : HP Quick Test Professional est un logiciel automatisé conçu pour automatiser les cas de test fonctionnels et de régression. Il utilise le langage VBScript pour l'automatisation. Il s'agit d'un outil basé sur les données et les mots-clés.
Rational Functional Tester (RFT) : le testeur fonctionnel rationnel d'IBM est un outil Java utilisé pour automatiser les cas de test des applications logicielles. Ceci est principalement utilisé pour automatiser les cas de test de régression et s'intègre également à Rational Test Manager.
Test de régression et gestion de la configuration
La gestion de la configuration pendant les tests de régression devient impérative dans les environnements agiles où un code est continuellement modifié. Pour garantir des tests de régression efficaces, observez les points suivants:
- Le code en cours de test de régression doit être sous un outil de gestion de configuration
- Aucune modification ne doit être autorisée dans le codage, pendant la phase de test de régression. Le code du test de régression doit être protégé contre les modifications du développeur.
- La base de données utilisée pour les tests de régression doit être isolée. Aucune modification de la base de données ne doit être autorisée
Différence entre les re-tests et les tests de régression:
Retester signifie tester à nouveau la fonctionnalité ou le bogue pour s'assurer que le code est corrigé. S'il n'est pas corrigé, le défaut doit être rouvert. S'il est corrigé, le défaut est fermé.
Les tests de régression consistent à tester votre application logicielle lorsqu'elle subit une modification de code pour s'assurer que le nouveau code n'a pas affecté d'autres parties du logiciel.
Consultez également la liste complète des différences ici.
Défis des tests de régression:
Voici les principaux problèmes de test pour effectuer des tests de régression:
- Avec des exécutions de régression successives, les suites de tests deviennent assez volumineuses. En raison de contraintes de temps et de budget, toute la suite de tests de régression ne peut pas être exécutée
- Minimiser la suite de tests tout en atteignant une couverture de test maximale reste un défi
- La détermination de la fréquence des tests de régression, c'est-à-dire après chaque modification ou chaque mise à jour de build ou après un tas de corrections de bogues, est un défi.
Application pratique d'un exemple de test de régression avec une vidéo
Cliquez ici si la vidéo n'est pas accessible
Conclusion:
Une stratégie de régression efficace, permet aux organisations de gagner du temps et de l'argent. Selon l'une des études de cas dans le domaine bancaire, la régression permet de gagner jusqu'à 60% de temps en correction de bogues (qui auraient été détectés par des tests de régression) et 40% en argent