Tout sur les tests de non régression (TNR)

Tout sur les tests de non régression (TNR)

Quand est-ce qu’il faut utiliser les tests de non régression ?

En général, les tests de non régression sont utilisés dans les situations suivantes :

  • L’ajout d’une nouvelle requête à une fonctionnalité existante.
  • La correction de bugs dans le code.
  • L’ajout d’une nouvelle option ou fonctionnalité.
  • L’optimisation du code source pour améliorer les performances.
  • Les mises à jour du logiciel.
  • Les modifications de la structure.

Les différents types de tests de non régression (TNR)

Les tests de non régression peuvent prendre différentes formes. Comment choisir le TNR qui vous convient le mieux ? Prenez en compte le processus de développement de votre logiciel (le développement et le test des logiciels sont étroitement liés) et les mises à jour que vous prévoyez d’introduire.

Ci-dessous, vous trouverez un aperçu des techniques les plus courantes de test de non régression – TNR.

Test de non régression correctif

Le test de correction des performances est apprécié pour sa simplicité, car il nécessite moins d’efforts. Il réutilise les tests existants, à condition qu’aucun changement majeur n’ait été apporté aux fonctionnalités du produit (pas de modification du scénario de test).

Test de non régression complet

Comme son nom l’indique, le TNR complet est une procédure de test relativement complexe qui nécessite de tester à nouveau tous les éléments du produit à partir de zéro. Ce test vise à contrôler rétrospectivement toutes les petites modifications qui ont été apportées depuis le début. Cette approche est parfois utilisée lorsque l’on soupçonne qu’un élément a été oublié (ou n’a pas été fait correctement) lors des phases de test précédentes. Dans de telles circonstances, il peut être plus efficace de tout retester depuis le début plutôt que d’essayer d’identifier ce qui n’a pas fonctionné.

Ce n’est pas une méthode très courante, compte tenu des problèmes de budget, mais elle vous permet d’avoir plus confiance en la qualité de votre projet.

Test de non régression sélective

Ce type de test est un compromis entre le test de non régression correctif et le test de non régression complet. Il n’est pas aussi simple que le premier, mais pas aussi complet que le second. Le test de non régression sélective permet de choisir certains tests dans un ensemble pour inspecter les parties du code qui ont été affectées.

Test de non régression progressive

Lorsque les tests établis ne sont plus utiles, de nouveaux tests sont créés. C’est souvent le cas lorsque les caractéristiques du produit sont modifiées, de nouveaux scénarios de test sont alors créés pour répondre à ces changements.

Test de non régression partielle

Vous pouvez voir le développement de logiciels comme la construction d’une maison LEGO : vous commencez par créer des blocs séparés, puis vous les assemblez pour obtenir une maison entière.

Vos différents modules peuvent être en cours de développement depuis un certain temps. Lorsque vous êtes sur le point de les fusionner avec la version principale du code, des tests partiels sont effectués, en se basant principalement sur les scénarios de test existants.

Test de non régression unitaire

Il s’agit d’une approche directe qui vise à tester le code en tant que bloc individuel, sans tenir compte de toutes les contraintes, intégrations et autres éléments qui peuvent y être liés.