Page d'accueil d'OpenText.
Thèmes techniques

Qu'est-ce qu'un test fonctionnel ?

 Illustration des éléments informatiques avec un point d'interrogation en point de mire

Présentation

Le test fonctionnel est un type de test qui vise à déterminer si chaque fonctionnalité de l'application fonctionne conformément aux exigences du logiciel. Chaque fonction est comparée à l'exigence correspondante afin de vérifier si son résultat est conforme aux attentes de l'utilisateur final. Le test est effectué en fournissant des échantillons d'entrées, en saisissant les résultats obtenus et en vérifiant que les résultats réels sont identiques aux résultats escomptés.

Voici quelques exemples de tests fonctionnels :

  • Les utilisateurs peuvent-ils se connecter avec succès à l'application une fois qu'ils ont fourni des informations d'identification légitimes ?
  • La passerelle de paiement rejette-t-elle l'entrée et affiche-t-elle un message d'erreur lorsqu'un utilisateur saisit un numéro de carte de crédit non valide ?
  • Les entrées de l'écran "Ajouter un nouvel enregistrement" permettent-elles d'ajouter et d'enregistrer un nouvel enregistrement dans la base de données ?
 
À l'issue de vos tests fonctionnels, vous devriez disposer d'un logiciel doté d'une interface utilisateur cohérente, d'une API cohérente et qui s'intègre de manière transparente aux processus d'entreprise.

Tests fonctionnels

Tests fonctionnels et tests non fonctionnels

Contrairement aux tests non fonctionnels, les tests fonctionnels ne s'intéressent pas à la qualité, à la sécurité ou aux performances du code source sous-jacent de l'application. Il ne mesure pas la vitesse, l'évolutivité et la fiabilité.

Les tests fonctionnels se concentrent plutôt sur les résultats du traitement et non sur la mécanique du traitement et déterminent si l'application répond aux attentes minimales de l'utilisateur.

En ce sens, la définition du test fonctionnel est presque synonyme de test boîte noire, tandis que le test boîte blanche est plus souvent une caractéristique des tests non fonctionnels. 


Étapes typiques d'un essai fonctionnel

Un plan de test fonctionnel suit généralement la séquence suivante :

Identifier les objectifs des tests

Les objectifs des tests fonctionnels sont les caractéristiques que le logiciel est censé avoir sur la base des exigences du projet. Les objectifs des tests sont notamment de valider que l'application fonctionne comme prévu et qu'elle gère les erreurs et les scénarios inattendus avec élégance.

Créer des scénarios de test

Élaborer une liste de tous les scénarios de test possibles (ou au moins les plus importants) pour une fonctionnalité donnée. Les scénarios de test décrivent les différentes façons dont la fonctionnalité sera utilisée. Par exemple, pour un module de paiement, les scénarios de test peuvent porter sur les devises multiples, la gestion des numéros de carte non valides ou expirés, et la génération d'une notification à la fin de la transaction.

Créer des données de test

Créez des données de test qui simulent des conditions d'utilisation normales sur la base des scénarios de test que vous avez identifiés. Vous pouvez saisir les données de test manuellement (par exemple à partir d'une feuille de calcul MS-Excel ou d'une impression) ou automatiquement via un script ou un outil de test qui lit et saisit les données à partir d'une base de données, d'un fichier plat, d'un fichier XML ou d'une feuille de calcul. Chaque ensemble de données d'entrée doit également être associé à des données qui décrivent le résultat escompté que les données d'entrée doivent générer.

Concevoir des cas de test

Créer des cas de test basés sur les différents résultats souhaités pour les entrées de test. Par exemple, si vous saisissez un numéro de carte de crédit non valide, l'application doit afficher un message d'erreur significatif.

Exécuter les cas de test

Exécutez les cas de test dans l'application et comparez les résultats réels aux résultats escomptés. Si les résultats réels et attendus sont différents, la fonctionnalité a échoué au test et un défaut doit être enregistré.

Délibérer sur les défauts, les suivre et les résoudre

Une fois qu'un défaut est identifié, il doit être enregistré dans un système de suivi formel accessible à l'ensemble de l'équipe du projet. Les modifications nécessaires doivent être apportées à l'application et le cas de test doit être exécuté à nouveau pour confirmer la résolution avant qu'un défaut ne soit marqué comme fermé.


Comment fonctionnent les outils de tests fonctionnels automatisés ?

Les outils d'automatisation des tests fonctionnels sont capables d'interagir avec l'interface utilisateur de l'application testée. Ils peuvent identifier des objets à l'écran, tels que des zones de liste, des zones de texte et des boutons, et peuvent faire des sélections, entrer des données et appuyer sur ces objets.

De nombreux outils d'automatisation des tests fonctionnels comprennent un enregistreur, qui "observe" l'utilisateur lorsqu'il interagit avec une application et ses objets à l'écran, enregistre les données qu'il entre dans le système et les actions qu'il effectue, comme appuyer sur des boutons ou sélectionner des menus. Ces actions peuvent ensuite être rejouées, en utilisant les objets, les données et les actions capturés pendant l'enregistrement, afin de reproduire les activités de l'utilisateur. Les résultats de ces actions sont notés par l'outil de test et comparés aux résultats attendus définis par l'ingénieur en automatisation afin de déterminer si le test a réussi ou échoué.

Les ingénieurs chargés de l'automatisation des tests fonctionnels peuvent construire leurs tests étape par étape en utilisant les objets reconnus par l'outil, ou ils peuvent commencer par un enregistrement, en personnalisant les étapes et en paramétrant les données pour les généraliser et permettre aux tests de s'exécuter dans différents environnements, y compris divers navigateurs et appareils mobiles.


L'intelligence artificielle dans les outils de tests fonctionnels

Les principaux outils d'automatisation des tests intègrent aujourd'hui des capacités d'intelligence artificielle (IA) qui utilisent des techniques avancées telles que l'apprentissage automatique, la vision par ordinateur, les réseaux neuronaux et le traitement du langage naturel. Cela permet d'identifier les objets à l'écran de la même manière qu'un être humain, d'interagir avec les objets et de les manipuler de manière naturelle, et de rédiger des tests dans un langage simple.

Il a été démontré que l'automatisation des tests fonctionnels basée sur l'IA permet de réduire le temps de création des tests, d'augmenter la couverture des tests, d'accroître la résilience des actifs de test et de réduire les efforts de maintenance des tests.


Quelles sont les meilleures pratiques en matière de tests fonctionnels ?

Créer des cas de test à un stade précoce

N'attendez pas que le codage de l'application ou du module soit terminé pour commencer à créer des cas de test. C'est dans les premières phases du projet que les besoins des utilisateurs sont les plus récents. Vous pouvez toujours modifier les cas de test ultérieurement si nécessaire.

Automatiser

Les tests fonctionnels peuvent être un processus ardu, répétitif et chronophage. Plus vous automatisez, plus vous pouvez garantir rapidement les fonctionnalités souhaitées ou identifier et corriger les défauts, et plus vous économisez du temps et des coûts de test dans le processus de livraison de l'application. Il n'est peut-être pas possible, ni même souhaitable, d'automatiser tous les cas de test, mais le simple fait de retirer les cas de test les plus importants de la liste des tests manuels peut améliorer considérablement le retour sur investissement de vos tests.

Comprendre le processus de pensée de l'utilisateur

Les testeurs fonctionnels doivent avoir une connaissance approfondie du processus de réflexion de l'utilisateur final. Il existe souvent différents types d'utilisateurs pour chaque application (acheteurs, vendeurs, administrateurs, agents de saisie, superviseurs, etc.) Les différents types d'utilisateurs et leur navigation typique dans l'application doivent être pris en considération pour chaque plan de test.

Fixer des priorités

Les testeurs disposent d'un temps et de ressources limités. Toutes les fonctionnalités ne peuvent pas être testées. Certaines fonctions de l'application sont hautement prioritaires et doivent donc être testées avant les fonctions moins prioritaires.


Nos outils de tests fonctionnels automatisés et alimentés par l'IA peuvent aider à

Bien que les tests fonctionnels puissent représenter un défi pour de nombreuses organisations, les avantages d'une organisation d'assurance qualité des tests fonctionnels correctement automatisée l'emportent largement sur ces défis, et tirer parti de la puissance d'outils de tests fonctionnels éprouvés est la meilleure façon d'y parvenir. Découvrez comment les solutions de tests fonctionnels OpenText™ peuvent vous aider à tirer le meilleur parti de vos tests fonctionnels.

Accélérer l'efficacité des tests grâce à l'automatisation des tests fonctionnels

Découvrez comment les outils de test fonctionnel peuvent optimiser la qualité de vos logiciels et améliorer l'expérience des utilisateurs.

En savoir plus

Comment pouvons-nous vous aider ?

Notes de bas de page