Non-régression

Non-régression
Page d'aide sur l'homonymie 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,
  • soit en définissant une stratégie de test de régression basée sur les risques.

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.

Stratégie de test de non régression

Automatiser les tests de non régressions n’est pas toujours possible, ou pas toujours économiquement valable au regard des coûts de maintenance des tests automatisés.

Dans le cas de tests manuels l’enjeu est donc d’identifier les tests pertinents pour minimiser l’effort de test tout en maximisant la couverture des risques de régressions. Cependant pour éviter de laisser passer des régressions il faut baser sa stratégie sur des faits.

Pour disposer de ces faits, l’analyse de l’application (code, ….) et la comparaison de chaque version permettent d’identifier tous les changements et les risques associés. La difficulté est d’obtenir une vision de ces risques qui soit exploitable pour des tests fonctionnels : au-delà du fichier modifié il faut évaluer son impact sur les fonctionnalités.

Pour améliorer cette analyse, une solution consiste à prendre l’ « empreinte » de chaque test sur l’application (ce qui est exécuté dans l’application lors d’un test). Cette prise d’empreinte fait le lien entre code, modules fonctionnels et scénarios de tests. Une fois ce lien établi, il est possible de savoir exactement ce que couvre un test en particulier.

Ainsi, lors d’une nouvelle version, il est possible d’identifier quels tests vont couvrir l’intégralité des risques de régression en fonction des modifications apportées à l’application. Définir une stratégie de test de non-régression plus efficace devient possible.

Grâce à cette méthode, l’automatisation des tests n’est plus la seule solution car le nombre de tests à jouer est limité au strict nécessaire.

Logiciels pour les tests de non régression

Voir aussi

Notes et références

  1. CFTL (Comité Français des Tests Logiciels) + ISTQB
  2. Standard IEEE 610.12:1990 (en anglais)

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Non-régression de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • 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 1 Définition 2 Difficulté …   Wikipédia en Français

  • Non-regression testing — (NRT) is an approach of software testing. The purpose of non regression testing is to verify that, after introducing or updating a given software application, previous software functions have not been compromised. This is aimed at preventing… …   Wikipedia

  • Test de non-régression — 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 1 Définition 2 Difficulté …   Wikipédia en Français

  • Tests de non-régression — 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 1 Définition 2 Difficulté …   Wikipédia en Français

  • Non-reg — 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 1 Définition 2 Difficulté …   Wikipédia en Français

  • Regression — Régression Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom …   Wikipédia en Français

  • Régression — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sur les autres projets Wikimedia : « Régression », sur le Wiktionnaire (dictionnaire universel) Sommaire …   Wikipédia en Français

  • Non-linear least squares — is the form of least squares analysis which is used to fit a set of m observations with a model that is non linear in n unknown parameters (m > n). It is used in some forms of non linear regression. The basis of the method is to… …   Wikipedia

  • Regression lineaire multiple — Régression linéaire multiple Pour les articles homonymes, voir Régression. Sommaire 1 Modèle théorique 1.1 Exemple 1.2 E …   Wikipédia en Français

  • Régression multilinéaire — Régression linéaire multiple Pour les articles homonymes, voir Régression. Sommaire 1 Modèle théorique 1.1 Exemple 1.2 E …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”