- Non-regression
-
Non-régression
Pour les articles homonymes, voir Régression.La non-régression concerne un type de tests effectués sur les logiciels.
Sommaire
Définition
Test de régression : tests d’un programme préalablement testé, après une modification, pour s’assurer que des défauts n’ont pas été introduits ou découverts dans des parties non modifiées du logiciel, comme suite à des modifications effectuées. Ces tests sont effectués quand le logiciel ou son environnement est modifié. [1] [2] L'intérêt principal de ces tests est de limiter les anomalies relevées lors de la recette de l'application. Ils viennent compléter les tests unitaires et les tests d'intégration en amont des tests de recette.
Difficulté
Ces tests sont fastidieux, car ils doivent être les plus exhaustifs possible, afin d'assurer que le logiciel fonctionne de la même manière. Or la nature du phénomène de régression impose de tester à nouveau un grand nombre de fonctionnalités, précédemment testées et validées, alors que les fonctionnalités récemment validées sont peu nombreuses. En particulier, quand il s'agit de corrections d'erreurs, le nombre de tests tend à rester constant, alors même que le nombre de modifications apportées diminue. Le rendement de la phase de test décroît donc rapidement.
Il existe des programmes informatiques spécialisés qui permettent d'automatiser ces tests. Ces programmes appelés souvent robots de tests, simulent généralement l'activité d'un utilisateur (il joue un scénario prédéfini) et contrôlent que le résultat obtenu est conforme au résultat donné par la version antérieure du logiciel. Une alternative consiste à limiter le nombre de tests à réaliser suite à une modification, soit en se basant sur des statistiques, soit en limitant les tests à certaines catégories de fonctionnalités, en fonction de leur criticité, ou de leur interaction probable avec les fonctionnalités testées.
Même si les tests de non-régression ne sont pas une nouveauté, la méthode extreme programming en fait un de ses chevaux de bataille pour améliorer la qualité du logiciel.
Logiciels pour les tests de non régression
- Squish
- Visual Studio Team Tester Edition
- TestPartner de Compuware
- Rational Fonctional Tester (IBM)
- Valgrind (libre et gratuit)
- QF-test (payant)
- QuickTest Professional (HP-Mercury)
- Selenium (libre et gratuit)
- WebDriver (libre et gratuit)
Voir aussi
Notes et références
- Portail de l’informatique
Catégories : Développement logiciel | Gestion de projet | Méthode de développement logiciel | Test logiciel
Wikimedia Foundation. 2010.