Une procédure de test gérée par données utilise les données d'un fichier externe, c'est-à-dire un pool de données, en tant qu'entrée pour le test. Un pool de données est un ensemble d'enregistrements connexes qui, durant la lecture du script de test, fournissent les données à substituer aux variables dans le script.
Les données étant séparées du script de test, vous pouvez effectuer les opérations ci-dessous.
Le schéma de gauche présente un script de test qui utilise des données comportant des références littérales codées en dur. Le schéma de droite présente un script de test géré par données qui utilise les données d'un fichier externe, un pool de données.
Script de test codé en dur avec références littérales Script de test géré par données avec un pool de données
Voici quelques exemples d'incidents résolus par l'utilisation de scripts de test gérés par des données :
Incident : Durant l'enregistrement du script, vous créez une fiche personnelle pour un nouvel employé en utilisant comme champ clé le numéro de sécurité sociale de cet employé. A chaque exécution du script de test, celui-ci tente de créer la même fiche personnelle en fournissant à l'application le même numéro de sécurité sociale. L'application rejette les demandes en double.
Solution : Lorsque le script de test est géré avec des données externes, l'application reçoit des données différentes à chaque exécution du script (notamment un numéro de sécurité sociale qui n'est jamais le même).
Incident : Vous supprimez un enregistrement au cours de l'enregistrement. Lorsque vous lisez ensuite le script, Functional Tester tente de supprimer le même enregistrement et l'application renvoie une erreur de type "Enregistrement introuvable".
Solution : En gérant le script de test avec des données externes, vous pouvez faire en sorte qu'à chaque lecture, il désigne un enregistrement différent dans la demande de suppression.
Incident : Vous supprimez un enregistrement au cours de l'enregistrement. Lorsque vous lisez ensuite le script, chaque transaction tente de supprimer le même enregistrement et il en résulte une erreur de type "Enregistrement introuvable". Solution : Vous pouvez utiliser un pool de données pour désigner un enregistrement différent dans la demande de suppression chaque fois que la transaction se répète.