Test Studio pas à pas : tests basés sur les données

Voici comment convertir n'importe quel test en un test basé sur les données qui vous permet de prouver que votre application fonctionne avec tous les ensembles de données qui comptent.
Vous avez donc créé votre premier de bout en bout (E2E ) test et cela prouve que, même si d'autres modifications sont apportées à votre application, votre application continue de traiter votre transaction de test "comme prévu".
Et vous aimeriez réexécuter ce test, mais avec des données différentes. Vous avez effectué votre partitionnement d'équivalence pour déterminer quels groupes de données existent qui sont pertinents pour votre application (c'est-à-dire, où existent des différences « significatives » dans les entrées potentielles de l'application). Vous avez également extrait au moins un ensemble de données de chaque groupe. Vous voulez maintenant prouver que votre application fonctionne « comme prévu » avec chaque ensemble de données que vous avez identifié. Les données. Bien que les données soient différentes, l'application doit être capable de traiter chaque ensemble de données comme les entrées de votre test d'origine. Vous ne voulez pas non plus rendre votre test si compliqué que le test lui-même doive être testé. L'un des avantages des tests basés sur les données de Test Studio est que vous pouvez incorporer plusieurs ensembles de données dans un seul test sans enfreindre cette règle.
Par exemple, mon étude de cas est construite autour de la mise à jour des données du département dans l'application fictive de l'Université Contoso. . (N'hésitez pas à télécharger à la fois ma version de l'application Contoso University et le projet Test Studio que j'ai utilisé pour la tester.) L'utilisateur doit pouvoir modifier le nom du département, sa date de début, son budget et son administrateur. Dans le budget uniquement, je veux m'assurer que l'application acceptera les montants budgétaires « typiques » (par exemple, 5 000 $) et les très grands nombres (par exemple, 1 000 000 $). L'application devrait même accepter des nombres négatifs tels que -200 $ (certains départements rapportent en fait plus d'argent qu'ils n'en dépensent et, par conséquent, retournent de l'argent à l'université).
Le script de test pour tous ces ensembles de données est identique. —seulement les entrées changent (si le script de test est différent d'un ensemble de données à un autre, cela suggère que vous testez une transaction différente). Finalement, vous voudrez vérifier que l'application gère correctement les mauvaises données, mais je couvrirai cela dans un article séparé.
Il y a de réels avantages à créer un test qui gère tous les éléments de données pour cette transaction. Si, par exemple, vous devez revenir et modifier votre test, vous n'aurez qu'à mettre à jour un script au lieu de nombreux scripts similaires. Il peut être encore plus judicieux de créer un test basé sur les données lorsque vous ne disposez que d'un seul ensemble de données. En déplaçant vos valeurs de test hors de votre test et dans une source distincte, il est non seulement plus facile de modifier ces données (comme vous le verrez ici), mais vous pouvez également partager cet ensemble de données entre plusieurs scripts de test, lorsque cela a du sens.[19659005]C'est une bonne idée de commencer par créer un test sans se soucier de le rendre basé sur les données (un peu comme le test que j'ai créé dans le post au début de cet article). Test Studio facilite l'intégration de plusieurs ensembles de données dans un test.
Configuration de vos données
Une fois que vous avez créé un test standard, votre prochaine étape consiste à créer les ensembles de données que vous souhaitez utiliser avec votre test— votre source de données. Vous n'avez pas besoin de faire beaucoup de planification ici car, comme vous le verrez, il est facile de revenir en arrière et de modifier votre source de données si vous devez apporter une modification.
Test Studio fournit un outil intégré pratique. pour créer et conserver vos données (vous pouvez les trouver dans l'onglet « Données locales » au bas de vos étapes de test). Cependant, vous pouvez utiliser presque n'importe quel outil contenant des données pour piloter votre test (y compris extraire des données d'une base de données réelle). Pour cette étude de cas, j'utiliserai Excel car, je suppose, vous le connaissez déjà.
Après avoir démarré Excel, vous devez d'abord configurer les colonnes qui contiendront les données dont vous avez besoin. Vous pouvez le faire en scannant vos étapes de test et en inventant des noms appropriés pour les données que les colonnes contiendront. En regardant à la fois la page Modifier le département et mon exemple de test, j'aurai besoin d'une colonne pour chaque champ que la page Modifier le département me permet de mettre à jour. Je vais appeler trois de ces colonnes DeptName, DeptBudget et DeptAdministrator. bas de la page. En haut de la page se trouve une case à cocher intitulée « Créer un bug » » title= »Department-Edit-Page »/>
J'ai utilisé une étape codée pour gérer la saisie de la date et, en raison de la façon dont j'ai écrit cette étape, j'aurai besoin de trois plus de colonnes pour cela : DeptStartYear, DeptStartMonth et DeptStartDay. De plus, aux fins de cette étude de cas, j'ai ajouté une case à cocher à la page qui me permet de créer un test d'échec chaque fois que j'ai besoin de démontrer une erreur dans cette étude de cas. J'ajouterai une colonne appelée InsertBug pour cela.
Enfin, je mettrai dans une colonne appelée Notes afin que je puisse documenter l'intention de chaque ligne de test.
Je n'ai pas besoin de configurer des colonnes pour tout ce qui ne change pas d'un test à l'autre (par exemple, en cliquant sur le bouton d'envoi à la fin) et, comme le suggère ma colonne Notes, je n'ai pas à utiliser chaque colonne que j'ai configurée dans ma source de données. À des fins purement documentaires, je donne un nom à ma feuille de calcul (DeptEditTests), l'enregistre et la ferme.
Le résultat, avec mes données de test, ressemble à ceci :
Un mot d'avertissement lorsque vous travaillez avec Excel : assurez-vous que les lignes qui suivent vos données de test sont vraiment sont vides. Un espace vide dans une cellule d'une ligne suivant vos données de test convaincra Test Studio qu'il doit alimenter cette ligne dans votre application dans le cadre de votre test. Sélectionnez la ligne suivant vos données de test et appuyez sur la touche Suppr pour l'effacer.
Maintenant que j'ai préparé mes données, je peux ajouter ma feuille de calcul Excel en tant que source de données dans Test Studio. De retour dans Test Studio, je passe d'abord à l'onglet Projet, puis, dans la section Sources de données, cliquez sur la flèche sous l'icône Ajouter+ pour obtenir une liste des formats acceptés par Test Studio. Je sélectionne le fichier Excel, qui ouvre une boîte de dialogue d'ouverture de fichier. Dans la boîte de dialogue, je navigue jusqu'au dossier contenant ma feuille de calcul, sélectionnez-le et cliquez sur le bouton Créer. Test Studio copie le fichier dans le dossier de données de mon projet de test.
Avec ma source de données chargée, je peux la lier à mon test en cliquant sur l'icône Lier le test. Cela ouvre une autre boîte de dialogue avec une liste déroulante Sélectionner la source de données en haut. En cliquant dessus, ma source de données Excel apparaît, que je sélectionne. Cela entraîne l'affichage d'une autre liste déroulante dans la boîte de dialogue, intitulée Sélectionner un tableau. Un clic me permet de sélectionner la feuille de ma feuille de calcul Excel que je souhaite utiliser pour ce script de test. Lorsque je sélectionne ma feuille de calcul, la boîte de dialogue me donne un aperçu de mes données. liste. Les quatre lignes de la feuille de calcul Excel (la ligne d'en-tête et les trois lignes de données) sont affichées ci-dessous. Au bas de la boîte de dialogue se trouve un bouton Lier. » title= »Bind-Spreadsheet »/>
Cliquer sur le bouton Lier en bas de la boîte de dialogue termine l'ajout de la feuille de calcul à mon projet. Je suis prêt à ce que mon script de test utilise ces données.
Lier une étape de test
Tout ce qui est nécessaire pour lier les données d'une étape de test est de lier une colonne de votre source de données à la valeur utilisée par l'étape de test . Vous faites cela dans la fenêtre Propriétés pour l'étape que vous souhaitez lier aux données. Après avoir sélectionné l'étape, vous trouverez la fenêtre Propriétés à droite de votre liste d'étapes, avec un onglet avec Step Builder. Cliquez simplement sur l'onglet Propriétés pour afficher la fenêtre. Je commencerai par lier l'étape où mon test d'origine non basé sur les données saisit actuellement le nombre 200. L'étape Text'” a été développée pour montrer que sa valeur Text est actuellement définie sur 200. Le volet Step Builder s'affiche à droite du script de test. En bas du volet, l'onglet intitulé « Propriétés » est encerclé. » title= »Steps-List-and-Step-Builder-Pane »/>
Une fois l'onglet Propriétés de l'étape affiché, vous trouverez le bouton du générateur de liaisons (le bouton avec les trois points) en haut de la volet des propriétés. Cliquer sur le bouton Liaisons vous permettra de remplacer votre valeur fixe par le nom d'une colonne de la source de données liée à votre test.
Lorsque je clique sur le bouton du générateur, j'obtiens une boîte de dialogue contextuelle avec une liste déroulante qui affiche les noms de colonnes de ma feuille de calcul Excel : DeptName, DeptBudget, DeptStartMonth et ainsi de suite. Étant donné que cette étape consiste à saisir les données budgétaires, je sélectionne DeptBudget et clique sur le bouton Définir dans la boîte de dialogue. Le titre de mon étape dans le script de test est mis à jour pour indiquer que l'étape est désormais pilotée par les données. Je répète ensuite ce processus avec les autres étapes de saisie de données dans mon script de test.
Quand je lier la liste déroulante, cependant, la boîte de dialogue Liaisons me donne un ensemble d'options différent : je peux définir un ou plusieurs de SelectionText, SelectionValue et SelectionIndex. J'ai entré le nom de mon administrateur dans ma feuille de calcul et, sur la page Modification du service, le nom de l'administrateur s'affiche dans une liste déroulante en tant que texte de la liste. En conséquence, je devrai définir l'option SelectionText sur ma colonne de feuille de calcul Excel pour que la liste déroulante sélectionne l'option correcte en utilisant les données de ma source de données.
En plus de lier mes actions, je dois également lier toutes les étapes de vérification que j'ai configurées lors de la création de mon manuel afin que je vérifie mes résultats par rapport à ce qui est extrait de ma source de données (heureusement, lier une étape de vérification est comme lier une zone de texte). C'est typique des tests basés sur les données : vous avez un ensemble de colonnes pour vos entrées (ce que vous appelez vos « données de test ») et un autre ensemble de colonnes contenant les données que vous utiliserez pour valider le test (votre « données de test » résultats”).
Soit dit en passant, si votre application comprend des cases à cocher ou des boutons radio et que vous liez des données à partir d'une feuille de calcul Excel, utilisez simplement les valeurs VRAI et FAUX d'Excel dans les colonnes de votre feuille de calcul lorsque vous les définissez, les désactivez ou les vérifiez.[19659038]Mise à jour de la source de données
Alors que je lie mon étape de vérification, je me rends compte que je pourrais utiliser deux colonnes pour représenter le montant de mon budget. Lorsque j'entre les données sur la page de modification du département, je veux juste entrer des chiffres (200, par exemple) car c'est tout ce que la zone de texte accepte. Mais, en raison de la façon dont les données sont affichées sur la page d'affichage du service, lorsque je souhaite vérifier les données, je souhaite utiliser la chaîne de caractères « 200,00 $ ». Contient" dans mon test de vérification (la chaîne "$200,00" contient les chiffres 200, après tout). Mais je serais plus à l'aise d'utiliser la correspondance « Exacte » pour m'assurer que les données s'affichent correctement (pour m'assurer que le signe négatif est au bon endroit, par exemple).
Heureusement, la mise à jour de ma source de données est facile : Tout d'abord, je clique sur l'icône Gérer dans la zone Sources de données du menu pour afficher une liste de mes sources de données.
Cliquer sur l'icône de crayon pour la feuille de calcul Excel pilotant ce test ouvrira ma feuille de calcul dans Excel. J'ajoute une nouvelle colonne à ma feuille de calcul appelée DeptBudgetChecked et la remplis avec l'affichage formaté que j'obtiendrai sur la page Affichage du département (assurez-vous d'entrer la chaîne avec une apostrophe devant elle – " 5 000,00 $ – ou Excel la stockera sous un numéro). Je ferme ensuite et enregistre ma feuille de calcul pour mettre à jour ma source de données dans Test Studio.
Exécution du test
Après avoir lié toutes mes étapes, je peux exécuter mon test. Avec mes exemples de données, je verrai le test s'exécuter trois fois pendant que Test Studio traite chaque ligne de mon ensemble de données. Si tous mes tests réussissent, une barre verte s'affichera en haut de mon script de test.
.
Si l'un de mes tests a échoué, j'obtiendrai une barre rouge à en haut de mon script de test.
Pour déterminer lequel exécution(s) ayant échoué, vous pouvez utiliser la liste déroulante pour sélectionner chaque exécution. Au fur et à mesure que vous sélectionnez chaque exécution, les exécutions qui ont échoué auront un volet Détails de l'échec de l'étape sous votre script de test.
Les exécutions réussies auront un volet Détails des résultats de l'étape sous votre script de test.
Avec les tests basés sur les données, chaque ligne de votre source de données est en fait un autre test. Avec un seul script de test et une source de données avec plusieurs lignes de données, vous pouvez commencer à exécuter plus de tests plus tôt (et moins cher) que si vous deviez créer des scripts de test individuels.
La maintenance devient plus facile et plus rapide. De plus, au fur et à mesure que vous proposez d'autres cas de test, vous les ajoutez simplement à votre source de données ; si votre application change et commence à produire une sortie différente, il vous suffit de mettre à jour vos colonnes « résultats attendus ». Dans tous les cas, vous n'avez pas besoin d'écrire de nouveaux tests ou d'apporter des modifications à un test existant. C'est difficile à battre plus facile, moins cher et plus rapide, mais les tests basés sur les données peuvent vous permettre de faire les trois.
En savoir plus sur Test Studioet démarrez votre gratuitement procès aujourd'hui !
Source link