Page d'accueil d'OpenText.
Sujets techniques

Qu'est-ce qu'un test fonctionnel ?

 Illustration d'éléments informatiques mettant en évidence un point d'interrogation

Aperçu

Les tests fonctionnels sont un type de test qui vise à établir 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 consiste à fournir des exemples d'entrées, à capturer les sorties résultantes et à vérifier que les sorties réelles correspondent aux sorties attendues.

Voici quelques exemples de tests fonctionnels :

  • Les utilisateurs peuvent-ils se connecter avec succès à l'application une fois qu'ils ont fourni des identifiants valides ?
  • La passerelle de paiement rejette-t-elle la saisie et affiche-t-elle un message d'erreur lorsqu'un utilisateur entre un numéro de carte de crédit invalide ?
  • Les données saisies dans l'écran « Ajouter un nouvel enregistrement » permettent-elles d'ajouter et d'enregistrer correctement un nouvel enregistrement dans la base de données ?
 
À la fin de vos tests fonctionnels, vous devriez disposer d'un logiciel doté d'une interface utilisateur cohérente, d'une API cohérente et s'intégrant parfaitement aux processus métier.

Essais fonctionnels

Tests fonctionnels vs tests non fonctionnels

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

Les tests fonctionnels, quant à eux, se concentrent sur les résultats du traitement et non sur les mécanismes de ce traitement, et déterminent si l'application répond aux attentes minimales des utilisateurs.

En ce sens, la définition des tests fonctionnels est quasiment synonyme de tests en boîte noire, tandis que les tests en boîte blanche, quant à eux, sont plus souvent une caractéristique des tests non fonctionnels. 


Étapes typiques d'un test fonctionnel

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

Identifier les objectifs des tests

Les objectifs des tests fonctionnels correspondent aux fonctionnalités que le logiciel est censé posséder en fonction des exigences du projet. Les objectifs des tests comprennent la validation du bon fonctionnement de l'application et de sa capacité à gérer correctement les erreurs et les situations inattendues.

Créer des scénarios de test

Élaborez une liste de tous les scénarios de test possibles (ou du 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 inclure plusieurs devises, la gestion des numéros de carte invalides ou expirés et la génération d'une notification en cas de transaction réussie.

Créer des données de test

Créez des données de test simulant des conditions d'utilisation normales, en fonction 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 accompagné de données décrivant le résultat attendu que ces données d'entrée devraient générer.

Concevoir des cas de test

Créez des cas de test en fonction des différents résultats souhaités pour les entrées de test. Par exemple, si vous entrez un numéro de carte de crédit invalide, l'application doit afficher un message d'erreur clair.

Exécutez les cas de test

Exécutez les cas de test dans l'application et comparez les résultats obtenus aux résultats attendus. Si les résultats réels et attendus diffèrent, la fonctionnalité a échoué au test et un défaut doit être consigné.

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

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


Comment fonctionnent les outils automatisés de test fonctionnel ?

Les outils d'automatisation des tests fonctionnels sont capables d'interagir avec l'interface utilisateur de l'application testée. Ils peuvent identifier les objets à l'écran, tels que les listes déroulantes, les zones de texte et les boutons, et peuvent faire des sélections, saisir des données et cliquer dessus.

De nombreux outils d'automatisation des tests fonctionnels incluent 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ées lors de l'enregistrement, afin de reproduire les activités de l'utilisateur. Les résultats de ces actions sont consigné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 en 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, personnaliser les étapes et paramétrer les données pour les généraliser et permettre aux tests de s'exécuter sur différents environnements, y compris divers navigateurs et appareils mobiles.


L'intelligence artificielle dans les outils d'essai fonctionnel

Les principaux outils d'automatisation des tests actuels intègrent des capacités d'intelligence artificielle (IA) qui utilisent des techniques avancées telles que l'apprentissage machine, 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 humain, d'interagir avec eux et de les manipuler naturellement, et de rédiger des tests en anglais courant.

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 ressources de test et de réduire les efforts de maintenance des tests.


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

Créez des cas de test le plus tôt possible

N'attendez pas que le codage de l'application ou du module soit terminé avant de commencer à créer des cas de test. C'est au cours des premières phases du projet que les besoins des utilisateurs seront les plus pertinents. Vous pouvez toujours modifier les cas de test plus tard, selon les besoins.

Automatiser

Les tests fonctionnels peuvent être un processus ardu, répétitif et chronophage. Plus vous automatisez, plus vite vous pouvez garantir les fonctionnalités souhaitées ou identifier et corriger les défauts, et plus vous économisez sur le temps et les 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 manuelle peut considérablement améliorer le retour sur investissement de vos tests.

Comprendre le processus de réflexion de l'utilisateur

Les testeurs fonctionnels doivent avoir une compréhension approfondie du processus de réflexion de l'utilisateur final. Chaque application compte souvent différents types d'utilisateurs (acheteurs, vendeurs, administrateurs, opérateurs de saisie de données, superviseurs, etc.). Les différents types d'utilisateurs et leur navigation typique au sein de l'application doivent être pris en compte pour chaque plan de test.

Prioriser

Les testeurs ont un temps et des 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 fonctionnalités de moindre priorité.


Nos outils automatisés de test fonctionnel, basés sur l'IA, peuvent vous aider.

Bien que les tests fonctionnels puissent représenter un défi pour de nombreuses organisations, les avantages d'une organisation d'assurance qualité en matière de tests fonctionnels correctement automatisée surpassent largement ces difficultés, et tirer parti de la puissance d'outils de tests fonctionnels éprouvés est la meilleure façon de procéder. Découvrez comment les solutions de tests fonctionnels d'OpenText ™ peuvent vous aider à tirer le meilleur parti de vos tests fonctionnels.

Accélérez vos tests efficacement grâce à l'automatisation des tests fonctionnels.

Découvrez comment les outils de tests fonctionnels peuvent optimiser la qualité de vos logiciels et améliorer l'expérience utilisateur.

En savoir plus

Comment pouvons-nous vous aider?

Notes de bas de page