Qu’est-ce qu’un test fonctionnel ?


You are currently viewing Qu’est-ce qu’un test fonctionnel ?
 

Il m’arrive parfois, lorsqu’on me pose la traditionnelle question “Et toi, tu fais quoi dans la vie ?”, de ressentir comme un fossé lorsque je commence à parler de qualité et de tests fonctionnels. Heureusement, en quelques mots, exemples et métaphores, j’observe que les regrets d’avoir posé la question se dissipent…

Cela montre, une fois de plus, que ce qui est évident pour certains ne l’est pas forcément pour tous. Et c’est même curieusement vrai pour les personnes au sein d’un même domaine. Le langage est tellement riche que nous ne mettons pas tous les mêmes mots sur les mêmes concepts, quand bien même ils nous sont familiers.

C’est pourquoi, afin de comprendre pourquoi automatiser les tests fonctionnels dans un projet web, il peut être intéressant de prendre le temps de définir ce que l’on entend par test fonctionnel.

 
 

Un peu de théorie : démarche pour produire un logiciel web

Dans un projet web, le produit, un site ou une application web, est créé pour répondre à un besoin client. Ce besoin client prend la forme d’une liste de fonctionnalités avec pour chacune une liste d’exigences fonctionnelles.

Une exigence fonctionnelle décrit des règles métier, c’est à dire le résultat attendu dans chaque situation que l’utilisateur peut rencontrer. A chaque exigence est associée une criticité qui indique l’importance que le client accorde à cette exigence d’un point de vue de la satisfaction client.

Tout cela est consigné dans un document appelé le cahier des charges. Nous sommes là du côté de la maîtrise d’ouvrage en charge de rédiger ce cahier des charges.

L’analyse du cahier des charges entraîne la conception de la réponse fonctionnelle apportée au besoin, incarnée dans le produit. Tous les détails du produit sont consignés dans un document appelé les spécifications fonctionnelles détaillées. Et nous sommes là du côté de la maîtrise d’œuvre en charge d’écrire ces spécifications.

Cette documentation technique est alors fournie à l’équipe de production, qui va le décliner en une version plus technique et décrire en détails les éléments de la solution qui vont être développés et leurs interactions entre eux. Est alors produit un document appelé les spécifications techniques.

Une fois le besoin développé par l’équipe de production logicielle, avant de livrer au client, il faut s’assurer de la qualité du produit final. C’est à dire qu’il faut vérifier que le produit est bien en conformité avec les exigences fonctionnelles exprimées par le client. C’est l’objectif du processus qualité.

Et cet objectif est servi par les tests fonctionnels.

 
 

Définition du test fonctionnel

Les tests fonctionnels sont destinés à s’assurer que, dans le contexte d’utilisation réelle, le comportement fonctionnel obtenu est bien conforme avec celui attendu.

Un test fonctionnel a donc pour objectif de dérouler un scénario composé d’une liste d’actions, et pour chaque action d’effectuer une liste de vérifications validant la conformité de l’exigence avec l’attendu.

Il existe deux types de test fonctionnel.

Le test fonctionnel de progression, réalisé sur une exigence qui vient d’être développée. C’est donc la première fois que ce test est réalisé, avant que le produit ne soit livré en production.

Le test fonctionnel de non régression, réalisé sur une exigence existant déjà avant les développements en cours. Il permet de s’assurer que les évolutions et les corrections effectuées dans une nouvelle version n’ont pas entraîné de régressions sur les fonctionnalités existantes.  

Au cours d’un test fonctionnel, si une action échoue ou qu’une vérification n’est pas satisfaite, on est alors en présence d’un signe de non qualité dans le système, plus communément appelé bug.

 
 

Les deux types de bugs

On distingue deux types de bugs.

Le bug d’implémentation, qui correspond à un problème introduit lors du développement initial d’une exigence.

Le bug de régression, qui correspond à un effet de bord introduit lors du développement d’une autre exigence ou lors de la maintenance corrective sur l’exigence en question ou sur une autre.

Quoi qu’il en soit, quel que soit le type de bug, une fois détecté, il faut ensuite le qualifier avec méthode et le remonter à l’équipe de développement. Celle-ci va alors lancer la phase de correction et produire une version corrigée qui va repasser à la moulinette des tests fonctionnels.

La boucle est bouclée…

 
Picture of Stéphanie Binet
Stéphanie Binet

Experte en qualité web, fondatrice de Gonogo Consultech : conseil en stratégie web et fournisseur de la solution HorusTest.
Optez pour une stratégie qualité pérenne ! HorusTest permet de créer et de gérer vos tests automatisés simplement, sans écrire une seule ligne de code et sans compétences techniques.

Découvrir Horus Test