Tests de régression vs tests fonctionnels

Définitions

La première chose à faire lorsque l’on veut comparer des termes c’est de connaitre leur définitions.

Les tests de régression sont les tests exécutés sur un programme préalablement testé mais qui a subit une ou plusieurs modifications (définition ISTQB).

Les tests fonctionnels quant à eux sont l’ensemble des tests permettant de s’assurer que le logiciel couvre l’ensemble des besoins qu’il doit assurer (complétude), que ces résultats sont corrects (exactitude) et qu’il est possible de l’utiliser (aptitude à l’usage). (voir mon article sur les tests fonctionnels selon la norme ISO-25 010)

Les définitions sont bien différentes et permettent de définir différents buts à ces tests.

Buts des tests de régression

En lisant et comprenant les définition on s’aperçoit que le but des tests de régression est de vérifier que la modification d’un logiciel n’a pas engendré d’effets de bord indésirables, que cette (ou ces) modifications n’ont pas introduit des régressions majeurs dans le logiciels (je teste s’il y a des régressions sur es tests).

Les tests de régression peuvent donc viser autant du fonctionnel que du non fonctionnel. En effet, si le temps de réponse d’un logiciel est fortement dégradé (ex: 2 secondes de temps de réponse au lieu de 0,2 seconde) il y a alors une régression importante. En fait, il peut y avoir des régressions, et donc des tests de régression, sur l’ensemble des familles de tests définies dans la norme ISO-25010 qui définit 8 axes de qualité pour mesurer la qualité d’une application.

Plus d’informations sur le rôle des campagnes de test de régression dans cet article.

Buts des tests fonctionnels

Le but des tests fonctionnel est, comme son nom l’indique, de vérifier que le logiciel fait tout ce qu’on veut qu’il fasse et qu’il le fait correctement. Concrètement, pour une application mail, les fonctions minimales sont la visualisation de la liste des mails dans les différents dossiers, la visualisation des mails et des PJ, l’écriture des mails, l’envoi des mails (auxquelles ont peu ajouter de nombreuses autres comme la gestion des option, de plusieurs messageries, des notifications…).

Ces tests peuvent (et doivent) donc être fait lors de la régression mais aussi lors de la validation.

Il y a donc des tests fonctionnels de régression et des tests fonctionnels de validations qui ne feront jamais parti de la régression. Cela donne ce schéma:

Analogie comparative

En cuisine on pourrait l’imaginer comme cela:

Si les tests fonctionnels (une famille de test) sont les légumes, et en allant plus loin, les tests de performances la viande, les tests d’adaptabilité les épices…

Les tests de régressions sont un plat dans lequel on utilise différents ingrédients (et donc familles de test). Par exemple, on n’utilisera jamais tous les légumes disponibles pour un pot au feu. On y ajoutera par contre de la viande et des épices dans sa préparation. Arriver à faire un bon pot au feu demande donc du doigté avec un savant mélange des différents ingrédients. Il en va de même avec les tests de régressions!

Conclusion

Les tests de régression et les tests fonctionnels sont 2 notions totalement distinctes et qui ont des buts différents.

Si je devais résumer cet article en une image cela serait celle-ci:

Pensez à laisser un commentaire si vous souhaitez d’autres articles de ce type permettant de différencier différentes notions du test.

N’hésitez pas à me suivre et lire mes autres articles si vous voulez en apprendre plus sur le test ou venir partager vos connaissances

Pensez à rejoindre le groupe « Le métier du test » si vous souhaitez échanger sur le test

Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles

N’hésitez pas à faire vos propres retours d’expérience en commentaire.

Publié par

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s