Tests de non régression pour assurer la qualité de la première version de votre logiciel

Publié le : 7 mai 2020

Les tests de non régression, à ne pas confondre avec les tests fonctionnels ou unitaires, permettent d’identifier la régression d’une application entre une version n et une version n-1. Cela implique donc une version n-1.

Or, lors du développement de la première version d’un logiciel, il n’y a pas de version en production, donc de version n-1. Mais, pour les logiciels nécessitant des développements de plusieurs mois, voire années, il se crée implicitement un patrimoine de fonctionnalités.

C’est ce patrimoine, qui s’enrichit au fur et à mesure, qu’il faut valider par des tests de non régression. Ces tests de non régression sont les garants de la qualité de la première version de votre logiciel !

« Dette de régression » des projets informatiques.

Les projets informatiques sont discrédités par des régressions, au fil des développements. Les effets de bords sont fréquents et le temps passé pour identifier l’origine de la régression est considérable.

Dans la majorité des cas les régressions sont identifiées bien après leur apparition en production, souvent par les utilisateurs et, dans le même temps, le projet a continué de s’enrichir en fonctionnalités.

Téléchargez notre livre blanc et basculer dans le “monde merveilleux” des tests automatisés !

On se retrouve avec une « dette de régression » dont il est impossible de sortir. On est alors dans l’obligation de réaliser les mises en production quasi tous les jours. Les mises en production qui, en fait, ne sont que des Fixs.

Conséquence : la qualité de la première version de votre livrable est au mieux médiocre, au pire catastrophique.

Tests de non régression pour assurer la qualité au fil des versions.

Si les marketeurs ont le droit à leur “Time to Market”, les projets informatiques ont un “Time to TNR”. C’est ce timing de mise en place des tests de non régression qui permet d’assurer la qualité de votre développement. Ces tests ne viennent pas remplacer les tests unitaires ou les tests fonctionnels, mais bien compléter vos tests.

Les tests de non régression sont à initier lorsque le “tronc commun” du développement est en place et fonctionnel. Par exemple nommons la version DEV1.0, la version qui inclut les fonctions de création d’utilisateurs, de juridiction des droits d’accès, de login. Bien entendu, en ayant réalisé les tests unitaires, puis les tests fonctionnels.

Lorsque tout est conforme, il faut alors qu’il le reste tout au long du projet. Lorsque la version DEV2.0, incluant pour exemple la fonction commande, est conforme, il est impératif de réaliser des tests de non régression sur les fonctions qui étaient disponibles dès la version DEV1.0.

Pour ce faire il faut avoir créé des scénarios qui permettent de vérifier que les fonctions de création d’utilisateurs, de juridiction des droits d’accès et de login sont opérationnelles dans la version DEV2.0 comme elles l’étaient dans la version DEV1.0.

On en profitera pour enrichir le patrimoine de tests de non régression avec les nouvelles fonctionnalités (dans notre exemple la fonction « commande ») pour, là aussi, en vérifier la qualité au fur et à mesure des versions.

Modèle inapplicable aux projets de développement court.

Les tests de non régression ne trouveront pas leur place lors de phases de développement court. Mettre en œuvre des TNR n’a aucun sens si la durée de vie de l’application ou le délai nécessaire pour la réaliser sont trop courts. En effet il n’y aurait aucune rentabilité.

En étant méthodique et en mettant en place l’organisation adéquate, il est possible de mettre en œuvre des tests de non régression tout au long du développement, quand bien même il n’y ait pas encore de version en production.

C’est la meilleure solution pour sortir une première version la plus qualitative possible et ainsi satisfaire pleinement ses utilisateurs.

Ayez toujours à l’esprit l’adage d’Henri Jeanson : « la première impression est toujours la bonne, surtout quand elle est mauvaise ».

Catégories

Les documents incontournables du monde du test

Voir les Livres Blancs

Articles populaires

Profitez d’une démonstration personnalisée de CloudNetCare, la plateforme d’automatisation des tests logiciels all inclusive

Obtenez une démo personnalisée

Profitez d’une démonstration personnalisée de CloudNetCare, la plateforme d’automatisation des tests logiciels all inclusive

Obtenez une démo personnalisée