Qu'est-ce que le Data Driven Testing ? Apprendre à créer un Framework

Tests basés sur les données

Tests basés sur les données est une méthode de test logiciel dans laquelle les données de test sont stockées sous forme de tableau ou de feuille de calcul. Les tests basés sur les données permettent aux testeurs de saisir un seul script de test capable d'exécuter des tests pour toutes les données de test d'une table et d'attendre la sortie du test dans la même table. On l’appelle également test piloté par table ou test paramétré.

Cadre basé sur les données

Cadre basé sur les données est un cadre de test d'automatisation dans lequel les valeurs d'entrée sont lues à partir de fichiers de données et stockées dans des variables dans des scripts de test. Il permet aux testeurs de créer des cas de tests positifs et négatifs en un seul test. Les données d'entrée dans un cadre basé sur les données peuvent être stockées dans une ou plusieurs sources de données telles que .xls, .xml, .csv et des bases de données.

Cadre basé sur les données

Pourquoi des tests basés sur les données ?

Tests basés sur les données est important car les testeurs disposent souvent de plusieurs ensembles de données pour un seul test et la création de tests individuels pour chaque ensemble de données peut prendre du temps. Les tests basés sur les données permettent de séparer les données des scripts de test et les mêmes scripts de test peuvent être exécutés pour différentes combinaisons de données de test d'entrée et les résultats des tests peuvent être générés efficacement.

Mise en situation :

Par exemple, nous souhaitons tester le système de connexion avec plusieurs champs de saisie avec 1000 ensembles de données différents.

Pour tester cela, vous pouvez adopter différentes approches :

Approche 1) Créez 1000  scripts, un pour chaque ensemble de données, et exécutez chaque test séparément, un par un.

Approche 2) Modifiez manuellement la valeur dans le script de test et exécutez-le plusieurs fois.

Approche 3) Importez les données de la feuille Excel. Récupérez les données de test des lignes Excel une par une et exécutez le script.

Dans les trois scénarios proposés, les deux premiers sont laborieux et prennent du temps. Il est donc idéal de suivre la troisième approche.

Ainsi, la troisième approche n’est rien d’autre qu’un framework Data-Driven.

Comment créer un cadre d'automatisation basé sur les données

Cadre d'automatisation basé sur les données

Considérez que vous souhaitez tester la fonctionnalité de connexion d’une application.

Étape 1) Identifiez les cas de test

  • Saisissez le nom d'utilisateur et le mot de passe corrects – Connexion réussie
  • Saisissez un nom d'utilisateur incorrect et un mot de passe correct – Échec de connexion
  • Saisissez un nom d'utilisateur correct et un mot de passe incorrect – Échec de connexion

Étape 2) Créez des étapes de test détaillées pour les 3 cas de test ci-dessus

Cas de test# Description Étapes de test Données de test Résultats attendus
1 Vérifiez la connexion pour des informations d'identification valides
  1. Lancer l'application
  2. Entrez le mot de passe du nom d'utilisateur
  3. Cliquez sur OK
  4. Vérifier les résultats
Nom d'utilisateur : valide mot de passe : valide Connexion réussie
2 Vérifiez la connexion pour les informations d'identification non valides
  1. Lancer l'application
  2. Entrez le mot de passe du nom d'utilisateur
  3. Cliquez sur OK
  4. Vérifier les résultats
Nom d'utilisateur : invalide Mot de passe : valide Échec de la connexion
3 Vérifiez la connexion pour les informations d'identification non valides
  1. Lancer l'application
  2. Entrez le mot de passe du nom d'utilisateur
  3. Cliquez sur OK
  4. Vérifier les résultats
Nom d'utilisateur : valide Mot de passe : invalide Échec de la connexion

Étape 3) Créer un script de test

Si vous observez les étapes de test, restez communes à travers les 3 étapes de test. Vous devez créer un script de test pour exécuter ces étapes

// This is Pseudo Code 

// Test Step 1: Launch Application 
driver.get("URL of the Application");  

// Test Step 2: Enter Username 
txtbox_username.sendKeys("valid"); 

// Test Step 3: Enter Password 
txtbox_password.sendKeys("invalid"); 

// Test Step 4: Check Results 
If (Next Screen) print success else Fail

Étape 4) Créez un Excel/csv avec les données de test d'entrée

Cadre d'automatisation basé sur les données

Étape 5) Étape Modifier le script pour boucler sur les données de test d'entrée. Les commandes d'entrée doivent également être paramétrées

// This is Pseudo Code
// Loop 3 Times
for (i = 0; i & lt; = 3; i++) {
    // Read data from Excel and store into variables
    int input_1 = ReadExcel(i, 0);
    int input_2 = ReadExcel(i, 1);

    // Test Step 1: Launch Application
    driver.get("URL of the Application");

    // Test Step 2: Enter Username
    txtbox_username.sendKeys(input_1);
    // Test Step 3: Enter Password

    txtbox_password.sendKeys(input_2);
    // Test Step 4: Check Results
    If(Next Screen) print success
    else Fail
}

Ci-dessus, il n'y a que 3 cas de test. Le script de test peut être utilisé pour effectuer une boucle sur les cas de test suivants en ajoutant simplement des valeurs de données de test à Excel

  • Saisissez un nom d'utilisateur et un mot de passe incorrects – Échec de la connexion
  • Saisissez le nom d'utilisateur et le mot de passe corrects – Échec de la connexion
  • Saisissez un nom d'utilisateur et un mot de passe vides – Échec de la connexion

Et ainsi de suite

Les meilleures pratiques en matière de tests pilotés par les données

Vous trouverez ci-dessous les meilleures pratiques de test pour les tests pilotés par les données :

  • Il est idéal d'utiliser des informations réalistes pendant le processus de test basé sur les données
  • La navigation dans le flux de test doit être codée dans le script de test
  • Pilotez des API virtuelles avec des données significatives
  • Utiliser les données pour générer des assertions dynamiques
  • Testez les résultats positifs et négatifs
  • Réutilisez les tests fonctionnels basés sur les données pour la sécurité et les performances

Avantages des tests basés sur les données

Le Data-Driven offre de nombreux avantages, parmi lesquels :

  1. Permet de tester l'application avec plusieurs ensembles de valeurs de données lors des tests de régression
  2. Les données de test et les données de vérification peuvent être organisées dans un seul fichier, distinct de la logique du scénario de test.
  3. Sur la base de l'outil, il est possible d'avoir les scripts de test dans un seul référentiel. Cela rend les textes faciles à comprendre, à maintenir et à gérer.
  4. Les actions et fonctions peuvent être réutilisées dans différents tests.
  5. Certains outils génèrent automatiquement des données de test. Ceci est utile lorsque de grands volumes de données de tests aléatoires sont nécessaires, ce qui permet de gagner du temps.
  6. Les tests basés sur les données peuvent effectuer n'importe quelle phase du développement. Les soins d’un test basé sur les données sont généralement fusionnés en un seul processus. Cependant, il peut être utilisé dans plusieurs cas de test.
  7. Permet aux développeurs et aux testeurs de séparer clairement la logique de leurs scénarios/scripts de test des données de test.
  8. Les mêmes scénarios de test peuvent être exécutés plusieurs fois, ce qui permet de réduire les scénarios de test et les scripts.
  9. Toute modification dans le script de test n'affecte pas les données de test

Inconvénients des tests basés sur les données

Certains inconvénients de la méthode de test d’automatisation basée sur les données sont :

  1. La qualité du test dépend des compétences en automatisation de l'équipe de mise en œuvre
  2. La validation des données est une tâche fastidieuse lorsqu'on teste une grande quantité de données.
  3. La maintenance est un problème majeur car une grande quantité de codage est nécessaire pour les tests basés sur les données.
  4. Des compétences techniques de haut niveau sont requises. Un testeur devra peut-être apprendre un tout nouveau langage de script.
  5. Il y aura plus de documentation. Principalement lié à l'infrastructure de tests de gestion des scripts et aux résultats des tests.
  6. Un éditeur de texte tel que le Bloc-notes est requis pour créer et gérer des fichiers de données.

Conclusion

  • Data-driven est un cadre d'automatisation des tests qui stocke les données de test sous forme de tableau ou de feuille de calcul.
  • Dans le cadre d'automatisation des tests basés sur les données, les données d'entrée peuvent être stockées dans une ou plusieurs sources de données telles que xls, XML, csv et bases de données.
  • Créer un test individuel pour chaque ensemble de données est un processus long et fastidieux. Le framework Data Driven Testing résout ce problème en séparant les données des tests fonctionnels.
  • Dans les tests pilotés par les données, c'est une option idéale pour utiliser des informations réalistes
  • Il permet de tester une application avec plusieurs ensembles de valeurs de données pendant Les tests de régression
  • L'inconvénient de cette méthode est qu'elle dépend des compétences en automatisation de l'équipe de mise en œuvre.