Que ce soit sur un site e-commerce, une application web ou mobile, on trouve un ensemble de fonctionnalités qui servent à répondre aux besoins et exigences des clients. Et par fonctionnalités, on entend par exemple dans un contexte e-commerce : la possibilité de pouvoir se créer un compte, s’y connecter, rechercher un produit, l’ajouter dans un panier, procéder à son paiement, etc. Mais que se passe-t-il si l’une de ces fonctionnalités ne marche pas correctement, ne répond pas au besoin ? Selon l’importance que le client y accorde, l’impact sur sa satisfaction peut être fortement négatif et dans certains cas, cela peut même l’empêcher d’aller au bout de son parcours.
Il est donc primordial de mettre en place des moyens de vérifier que chaque fonctionnalité se comporte conformément au besoin. Et c’est là que les tests fonctionnels entrent en jeu.
Un test fonctionnel permet de vérifier qu’un logiciel adopte un comportement fonctionnel adéquat, répondant aux exigences fonctionnelles, dans le contexte d’une utilisation réelle. Chaque fonctionnalité de la plateforme est ainsi testée pour contrôler qu’elle correspond aux besoins du client.
Ces fonctionnalités et la façon dont elles doivent réagir lorsque les utilisateurs s’en servent, et ce, dans chaque situation, sont déterminées dans un cahier des charges ou référentiel d’exigence. On y retrouve également le niveau de criticité de chaque exigence, c’est-à-dire l’importance que le client y accorde. Un cahier de recette est alors rédigé, listant différents cas de tests et scénarios associés comportant une série d’actions à mener pour valider ces fonctionnalités. Le test fonctionnel a pour objectif de dérouler ces scénarios et de vérifier, pour chaque action, la conformité de l’exigence aux critères d’acceptation et aux besoins des cibles.
Un test fonctionnel est en réalité une famille de test qui se compose de plusieurs niveaux de tests :
Une bonne pratique est de tester tôt et partout, de la conception de votre interface à sa mise en production et même au-delà. Vous pouvez ainsi mettre en place des tests fonctionnels à toutes les étapes de votre projet : sur vos environnements d’assemblage, recette, pré-prod et prod, juste avant d’implémenter une nouvelle fonctionnalité, puis juste après, lorsque vous faites une mise à jour, une correction ou une évolution sur une fonctionnalité déjà existante, lorsque vous découvrez une anomalie, mais aussi de façon régulière pour être le plus réactif possible en cas de bugs pour réduire au maximum l’impact sur la satisfaction client.
Enfin, il est important d’automatiser les tests fonctionnels qui intégreront vos campagnes de non-régression si vous souhaitez livrer et déployer régulièrement en production.