Site icon Blog ARC Optimizer

Test Studio pas à pas : créer des tests


Apprenez à intégrer Test Studio dans votre processus de test, y compris comment gérer les problèmes typiques lors de l'utilisation d'un outil de test de régression E2E automatisé.

Peu importe que vous soyez un programmeur, un testeur ou un utilisateur final. impliqué dans le développement d'applications – vous n'allez pas publier votre application tant que vous ne savez pas que toutes les parties fonctionnent ensemble : la partie du chemin des méthodologies de test appelée intégration ou test de bout en bout (E2E). En fait, le seul test qui compte est le test E2E qui prouve que votre application peut effectuer correctement des transactions commerciales entières.

Le problème est que, même si vous avez le temps de faire des tests E2E une fois en un. version, vous n'avez pas le temps de répéter chaque test E2E après chaque modification apportée à votre application, ni même à chaque version. Au moins, vous n'avez pas le temps de répéter ces tests manuellement.

C'est là qu'un outil comme Telerik Test Studio intervient et vous permet de « réexécuter » vos tests E2E aussi souvent que vous le souhaitez. avoir besoin. À condition, bien sûr, que vous sachiez comment utiliser l'outil.

Alors, voici comment intégrer Test Studio dans votre processus de test, y compris comment gérer les problèmes typiques qui font partie de l'utilisation d'un outil de test de régression E2E automatisé.[19659006]Étude de cas : Contoso University

Pour cette étude de cas, je vais utiliser une variante de l'Contoso University application. J'ai choisi Contoso University car il existe de nombreuses versions de l'application disponibles (il existe à la fois des versions .NET Framework et .NET Core, y compris les implémentations Views-and-Controllers et Razor Pages). Test Studio fonctionnera avec tous.

Pour ce guide, j'ai déplacé la couche d'accès aux données de l'application dans un service Web pour faire de l'application une étude de cas nécessitant une intégration. L'étude de cas pour mes tests se concentre sur la mise à jour des informations sur les départements de l'université, j'ai donc supprimé les autres fonctionnalités de l'application. 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.

Tout d'abord, un aperçu rapide de la fonctionnalité du service de mise à jour : après avoir démarré l'application, cliquez sur le bouton Lien Département dans le coin supérieur droit du menu principal de l'application.

Ce lien mène à la partie de l'application qui appelle le Contoso Service Web de l'université qui récupère une collection d'objets Department. L'application formate ensuite cette collection en une liste de départements qui s'affiche pour l'utilisateur.

Une fois cette liste affichée, l'utilisateur clique sur le lien Modifier d'un département pour faire en sorte que l'application récupère l'objet Department associé (encore une fois, via le service Web de l'Université Contoso). L'application affiche ensuite cet objet à l'utilisateur pour mise à jour. Le code récupère également une collection d'objets instructeur pour remplir une liste déroulante affichée sur la page Modifier.

L'utilisateur peut ensuite apporter les modifications nécessaires aux données du département et cliquer sur le bouton Enregistrer en bas de la page pour que l'application enregistre les données via le service Web. L'application renvoie ensuite l'utilisateur à la liste des départements.

Mon test E2E exercera cette fonctionnalité pour prouver qu'un utilisateur peut terminer avec succès la transaction qui intègre le frontend Web et le backend du service Web pour mettre à jour les informations d'un département.[19659017]Étape 1 : Conception du ou des tests

Test Studio ne modifie pas le processus de création de vos tests (le International Software Testing Qualifications Board a probablement le processus le plus exhaustif et épuisant). Par exemple, à tout le moins, vous devrez toujours :

  1. Décidez quelles parties de votre application nécessitent des tests
  2. Faites des tests exploratoires pour vous assurer que l'application fonctionne correctement
  3. Décidez des valeurs critiques que vous' ll utiliser dans vos tests (partitionnement par équivalence)
  4. Créez un script de test qui prouve que l'application fonctionne correctement avec un ensemble de valeurs critiques
  5. Exécutez le test
  6. Répétez le test avec d'autres values

Pour cette étude de cas, mon script de test confirmera qu'un utilisateur peut :

  1. Accéder à la liste des départements
  2. Modifier les informations du département anglais
    a. Modifiez le budget à 200 $
    b. Remplacez la date de début par la date d'aujourd'hui
    c. Changez l'administrateur en Zheng
  3. Enregistrez les modifications et revenez à la liste des départements
  4. Confirmez que toutes les modifications ont été enregistrées en accédant à la page Détails du département

Étape 2 : Configuration de votre projet et premier test

Pour cette étude de cas, je vais supposer que vous utilisez Test Studio lui-même (si vous êtes un développeur, vous pouvez utiliser le plug-in Test Studio Visual Studio, installé avec Test Studio, pour créer vos tests). Avant de commencer, vous devrez bien sûr installer Test Studio. Vous devrez également installer l'extension Progress Telerik Test Studio sur les navigateurs que vous utiliserez pour tester votre application.

Une fois tout installé, votre prochaine étape consiste à créer un projet Test Studio pour organiser vos tests : démarrez Test Studio, entrez le nom de votre projet dans la zone de texte Projet Web et cliquez sur le bouton Créer à côté du nom du projet. J'ai appelé mon projet Test Studio « Contoso University ».  » title= »Test Studio End to End-04-Create Project »/>

Une fois votre projet créé et ouvert dans Test Studio, vous pouvez ajouter votre premier test au projet : faites un clic droit sur votre projet dans l'Explorateur de projets et, dans le menu contextuel qui apparaît, sélectionnez Ajouter un test Web.[19659003]

Une fois que vous avez sélectionné Ajouter un test Web, votre test est ajouté à votre projet et apparaît dans la liste Explorateur de projets sur le côté gauche de Test Studio. Vous pouvez maintenant donner un nom à votre test (j'ai appelé mon test « Update Department »).

Bien que ce ne soit pas essentiel, avant de commencer vos tests, c'est une bonne idée de laisser Test Studio jeter un œil à vos navigateurs et calibrer ses paramètres pour eux. Dans la fenêtre Test Studio, cliquez sur l'onglet Tests puis sur le bouton Calibrer les navigateurs. Cela ouvre une boîte de dialogue qui répertorie tous les navigateurs avec lesquels Test Studio fonctionnera.

N'importe lequel de ces navigateurs installés sur votre ordinateur aura un bouton Calibrer à côté de son nom. Cliquez simplement sur le bouton Calibrer à côté du navigateur que vous souhaitez utiliser et qui est marqué comme Non calibré pour permettre à Test Studio de terminer la configuration de son fonctionnement avec ce navigateur. Le processus fermera chacune des fenêtres de ces navigateurs, alors assurez-vous que vous êtes prêt à abandonner ces pages.

Vous êtes maintenant prêt à enregistrer votre premier test.

Étape 3 : Enregistrement du test

Le moyen le plus simple de créer un test est de -cliquez sur le nom de votre test Web dans la fenêtre Explorateur de projets de Test Studio et choisissez Enregistrer dans le menu contextuel. Cela ouvre une boîte de dialogue dans laquelle vous pouvez saisir l'URL du point de départ de votre test.

Cette boîte de dialogue mémorise les URL que vous avez utilisées dans le passé. Ainsi, si vous devez créer un nouveau test à cette URL, vous pouvez simplement le sélectionner dans le liste de dialogue. Encore une fois, Test Studio va fermer toutes les fenêtres ouvertes que vous avez avec le navigateur que vous sélectionnez, alors assurez-vous que vous êtes prêt à abandonner ces fenêtres.

Une fois que vous avez défini l'URL pour le début de votre test, vous pouvez choisir le navigateur que vous souhaitez utiliser pour enregistrer votre test dans la liste d'icônes située en bas de la boîte de dialogue. Cliquez ensuite sur le bouton Enregistrer en bas de la boîte de dialogue pour démarrer l'enregistrement.

Test Studio ouvrira la page à l'URL que vous avez spécifiée. Vous remarquerez qu'une barre de menus s'affiche lorsque la fenêtre du navigateur s'ouvre.

Ce menu d'enregistrement est le lien entre votre navigateur et Test Studio (c'est aussi un bon signal pour indiquer que Test Studio est prêt à commencer à enregistrer votre test). Ce menu contient des boutons utiles. Pour votre premier enregistrement, assurez-vous de savoir où se trouvent les boutons Pause et « Activer ou désactiver la surbrillance survolée… ».

Vous pouvez maintenant travailler sur votre script de test. Au fur et à mesure que vous interagissez avec vos pages, vous obtiendrez un retour visuel indiquant que Test Studio a enregistré vos actions (par exemple, cliquer sur un lien affichera une boîte noire avec « Clic » et le nom du lien). Vous pouvez également revenir à Test Studio pour voir vos étapes apparaître au fur et à mesure que vous les effectuez. Si vous n'obtenez pas ce retour visuel, pas de panique ! Vous avez probablement commencé avant que Test Studio ne soit prêt. Revenez simplement à votre page initiale et recommencez.

Ce qui mène à un point clé : ne vous inquiétez pas si vous n'exécutez pas votre script de test parfaitement. Si, par exemple, vous allez accidentellement sur la mauvaise page et devez revenir à la page que vous vouliez utiliser, n'arrêtez pas et ne redémarrez pas votre enregistrement, continuez simplement votre test. Même si vous manquez complètement une étape de votre test, vous pouvez résoudre tous ces problèmes plus tard, comme vous le verrez. Si vous êtes interrompu, cliquez sur le bouton Pause dans le menu d'enregistrement et reprenez votre test lorsque vous êtes prêt.

Étape 4 : Vérification de l'application

Dans le cadre de votre test, vous voudrez vérifier que vous étiez non seulement capable d'accéder aux bonnes pages de votre application, mais que l'application a fait les bonnes choses sur ces pages (c'est-à-dire enregistrer les modifications apportées à vos données). Le moyen le plus simple de vérifier vos résultats est, dans le cadre de votre test, de naviguer vers une autre page de votre application qui affiche les résultats de vos modifications.

Dans l'application Contoso University, par exemple, la page Détails de chaque département affiche tout les informations d'un département. Au fur et à mesure que j'enregistre mon test (et après avoir mis à jour les informations du département), je vais sur la page Détails où toutes mes données de test enregistrées doivent être affichées. Une fois là-bas, je peux utiliser les données affichées sur cette page pour vérifier les résultats de mon test.

[19659003]Pour capturer des données sur une page à utiliser pour vérifier vos résultats, cliquez sur l'option « Activer ou désactiver la surbrillance survolée… » dans la barre de menu d'enregistrement qui est apparue lorsque vous avez commencé votre test. Déplacez ensuite votre souris sur l'élément de l'écran que vous souhaitez utiliser pour vérifier votre résultat. Comme vous le faites, Test Studio mettra en surbrillance l'élément actuellement sélectionné. Dans mon cas, je veux d'abord vérifier la cellule du tableau Budget de la page Détail, donc je déplace ma souris jusqu'à ce que cet élément soit mis en surbrillance.

Lorsque vous mettez en surbrillance les données que vous souhaitez utiliser, une liste déroulante apparaît. Dans cette liste, sélectionnez « Etapes rapides | Vérifier – " pour créer ce que Test Studio appelle une étape de vérification. Dans mon cas, je choisis « Etapes rapides – le texte contient « 200,00 $ » » pour vérifier que ma modification du budget du département a été enregistrée. Vous pouvez ensuite répéter cela pour tout autre élément de la page que vous souhaitez vérifier. Lorsque vous avez terminé, dans la barre de menu d'enregistrement, cliquez à nouveau sur le bouton « Activer ou désactiver la surbrillance survolée… » pour désactiver la surbrillance afin de pouvoir continuer à enregistrer votre test.

Pour vous assurer de capturer toutes les pages dont vous avez besoin dans votre test, vous devrez peut-être aller sur « une page passé" la dernière page dont vous avez besoin dans votre test. Par exemple, dans le cadre de mon test, je souhaiterais peut-être confirmer qu'un utilisateur peut revenir à la page de la liste des services après avoir enregistré ses informations. Pour m'assurer que cette page est enregistrée dans mon test, après avoir affiché la page de la liste des départements, je clique sur le lien qui me renvoie à la page d'accueil de l'application.

Lorsque vous avez enregistré tout ce dont vous avez besoin, fermez simplement dans le navigateur pour terminer votre test. Après avoir fermé votre navigateur, vous retournerez à Test Studio. Vous trouverez toutes les étapes que vous avez enregistrées dans votre test répertoriées dans votre test Web.

Étape 5 : Création d'un test propre

Maintenant que vous avez les étapes de votre test enregistré dans Test Studio, vous pouvez revoir ces étapes et supprimer toutes les étapes qui ne sont pas nécessaires à votre test ou les réorganiser pour obtenir le test "parfait".

Vous pouvez même modifier le contenu des étapes individuelles. Les étapes individuelles ont une flèche vers le bas qui, lorsque vous cliquez dessus, se développe pour afficher les détails de cette étape. Développer l'étape qui correspond à la saisie de texte vous permet de revoir ce qui a été saisi dans une zone de texte et de le modifier. Si, par exemple, vous découvrez que vous avez entré les mauvaises données dans une zone de texte, vous pouvez développer cette étape et modifier la zone de texte Texte de cette étape à la bonne valeur. Désormais, lorsque vous exécutez votre test, votre valeur mise à jour sera utilisée.

Pour les listes déroulantes, le développement de l'étape révèle la valeur que vous avez sélectionnée lors de votre test Cours. Par défaut, l'élément sélectionné est enregistré ByValue dans le champ SelectDropDownType. Cela signifie que Test Studio a utilisé la valeur cachée associée au choix que vous avez sélectionné dans son enregistrement pour enregistrer votre choix. Si vous souhaitez modifier cette valeur et connaître la valeur cachée du choix souhaité, vous pouvez simplement modifier la valeur de l'étape en fonction du choix souhaité. Si vous ne connaissez pas la valeur, vous pouvez modifier le SelectDropDownType en ByText et saisir le texte affiché sur la page pour le choix souhaité.

Sachez que l'utilisation de ByText peut être dangereuse si la liste déroulante est le contenu sera affecté, par exemple, par l'internationalisation. Pour ma page Modifier le service, ByText fonctionne car la liste déroulante affiche une liste de noms d'instructeurs. Cependant, le texte d'une liste déroulante qui affiche, par exemple, « Élevé, Moyen, Faible » peut varier d'un paramètre régional à l'autre.

Même s'il s'avère que vous avez manqué une étape dans votre script, vous ne le faites pas. devez réenregistrer le test. Si vous réalisez qu'il vous manque une ou plusieurs étapes, alors, dans Test Studio, recherchez d'abord dans votre liste d'étapes où vous souhaitez insérer vos étapes manquantes. Une fois là-bas, faites un clic droit sur l'étape avant les étapes « manquantes » et sélectionnez « Exécuter | Vers ici » dans le menu contextuel. Test Studio réexécute votre script, guide le navigateur jusqu'à l'étape que vous avez sélectionnée, puis s'arrête en attendant que vous continuiez. Vous pouvez maintenant reprendre l'exécution de votre script de test et Test Studio remplira les étapes manquantes au fur et à mesure que vous les exécuterez.

Vous pouvez utiliser ce même processus si vous devez vous arrêter avant de pouvoir terminer l'enregistrement de votre test. Fermez le navigateur pour enregistrer votre test et demandez à Test Studio d'enregistrer votre projet pour conserver ce que vous avez enregistré jusqu'à présent. À votre retour, vous pouvez utiliser Exécuter | Ici pour exécuter la partie du test que vous avez enregistrée, puis continuer à partir de là pour terminer votre test.

La réalité du HTML est que a) la spécification est implémentée de différentes manières dans différents navigateurs et b) les développeurs sont innovant constamment dans la façon dont ils exploitent cette spécification. Tout cela est appelé par euphémisme « contenu Web riche ». Heureusement, Test Studio peut faire face aux défis que la « richesse » crée. L'application Contoso University fournit un exemple trivial de ces défis : le sélecteur de date dans la zone de texte Date de début de la page Modifier le service est, dans certaines implémentations de navigateurs, invisible pour l'enregistreur de Test Studio. Dans ce cas, la solution est simple : lors de votre enregistrement, entrez simplement la date directement dans la zone de texte.

Bien que l'application Contoso ne fournisse pas d'autres exemples des défis d'un « contenu riche » similaire, Test Studio peut gérer le centre commercial. Cela inclut les opérations de glisser-déposer HTML, le HTML réécrit dynamiquement, les événements JavaScript aléatoires, l'attente du chargement d'une page à la fin des requêtes Ajax, etc. (tous décrits ici avec leurs solutions).

Étape 6 : Exécuter votre test

Enfin, une fois que vous avez terminé de modifier votre test (et que vous n'avez peut-être rien à faire), vous pouvez l'exécuter : faites un clic droit sur votre test dans l'explorateur de projet, sélectionnez Exécuter le test et puis asseyez-vous pour regarder Test Studio parcourir le navigateur dans votre test.

Lorsque le test est terminé (et en supposant que Test Studio n'a trouvé aucun problème), Test Studio affichera une bannière verte qui commence par le mot Réussir en haut de vos étapes de test. toujours une bonne chose.

Vous obtiendrez des commentaires différents si Test Studio trouve un problème, bien sûr. Vous pouvez l'essayer dans mon exemple d'application : pour créer un bogue dans mon cas de test, j'ai ajouté une case à cocher « Créer un bogue » sur la page Modifier le service. Lorsque cette case est cochée, le montant du budget saisi à l'écran est ignoré et le budget du département est mis à zéro. Dans le cadre de mon test, j'ai ajouté une étape à mon test qui active ou désactive la case à cocher. Pour simuler un bogue dans mon test, vous pouvez modifier cette étape de test pour que la case à cocher soit cochée. Si vous le faites, alors, lorsque vous exécutez mon exemple de test, l'enregistrement entrera toujours une valeur de 200 $ dans le champ du budget mais, lorsque le test passe à l'étape de vérification, le budget sera défini sur zéro dollar et l'étape de vérification échouera.

Maintenant, lorsque j'exécute mon test, il s'arrête à l'étape Vérifier "TextContent" et attend 15 secondes pour que les données correctes apparaissent (juste au cas où ma page serait simplement lente). Lorsque la valeur correcte n'apparaît pas, mon test est arrêté et Test Studio affiche mon problème : Une bannière rouge apparaît en haut de ma liste d'étapes commençant par le mot Échec et spécifie le nombre d'étapes terminées avec succès. L'étape défaillante sera mise en surbrillance et une boîte de détails sur l'échec s'affichera avec l'étape décrivant l'erreur et proposant plusieurs options pour traiter l'échec.

En passant, si vous décidez qu'une attente de 15 secondes pour vérifier le résultat n'est pas nécessaire, vous pouvez également désactiver cette attente. Développez simplement l'étape de vérification, sélectionnez l'option UseStepWaitOnElements et définissez WaitOnElementsTimeout sur zéro. Vous pourriez aussi bien recevoir les mauvaises nouvelles dès que possible.

Étape 7 : Traiter l'échec

Pour comprendre ce qui peut amener Test Studio à signaler une erreur, il vaut la peine de consulter le fichier journal disponible dans Afficher le journal. en haut de votre liste d'étapes. La partie pertinente du journal pour mon test ayant échoué ressemble à ceci :

'2021-10-24 10:18:15 AM' - 'Fail' : 10. Vérifiez 'TextContent' 'Contains' '$200,00' sur 'x20000TableCell '
-------------------------------------------------- ----------
Informations sur l'échec :
~~~~~~~~~~~~~~~
Impossible de localiser l'élément par Find Expression !
Tentative de recherche de l'élément [Html] à l'aide
Trouver la logique
(Html) : [tagname 'Exact' td] ET [TextContent 'Exact' $200.00]
Impossible de localiser l'élément. Recherche échouée !

Comme le message d'erreur l'indique dans le fichier journal ("Impossible de localiser l'élément") lorsqu'un test échoue, il n'y a peut-être pas de problème avec ma logique d'application – il se peut simplement que Test Studio ne puisse pas trouver l'élément supposé vérifier. Cela peut arriver parce que, par exemple, les attributs de l'élément ont changé. Les attributs modifiés peuvent, bien sûr, signaler un bogue dans le code, car les attributs modifiés peuvent affecter à la fois le traitement côté client et côté serveur. Les boutons Page DOM et Résoudre l'échec dans la zone Détails de l'échec peuvent être utiles pour déterminer le problème ici.

Cependant, les attributs modifiés peuvent également être une différence sans importance déclenchée par le HTML généré dynamiquement. Test Studio fournit plusieurs options pour modifier les conditions utilisées dans cette vérification pour traiter et peut même traiter le HTML qui génère dynamiquement les attributs d'ID généralement utilisés pour marquer les éléments de votre page.

Si vous déterminez qu'il y a est vraiment un problème avec l'application (le cas habituel lorsqu'un test échoue), vous pouvez utiliser les boutons de l'étape pour partager des informations sur l'échec :

  • Le bouton Copier vous permet de récupérer les informations de l'étape à coller dans un rapport de bogue.
  • Le bouton Exporter dépose l'erreur dans un fichier à extraire dans un système de suivi des bogues ou à envoyer par courrier électronique à la personne appropriée.
  • Le Soumettre le bogue Le bouton enverra le bogue directement au système de suivi des bogues que vous avez connecté à Test Studio. (Test Studio prend en charge Team Foundation Server et Jira prêts à l'emploi, mais vous pouvez créer un plug-in pour le système de votre choix.)

Vous avez maintenant créé votre test, l'avez exécuté, amélioré et traité à la fois le succès et l'échec. Il est temps de commencer à penser à vos prochains tests.

Prochaines étapes

Vous pouvez, par exemple, décider que votre "prochain test" consiste vraiment à réexécuter ce test mais avec un ensemble de données différent. Test Studio vous permettra de le faire sans avoir à enregistrer un nouveau test : il vous suffit de lier votre test à une source de données (qui peut simplement être une feuille de calcul Excel).

Il est également possible que vous trouviez cela vous ne pouvez pas créer tous les tests que vous voulez en utilisant l'enregistreur de Test Studio. Si, par exemple, il n'y a aucun moyen de vérifier les résultats de vos tests en vérifiant une page de votre application, vous devrez peut-être créer un module codé qui accédera aux données de la base de données. Cela va nécessiter des compétences de codage simples.

Une fois que votre test fonctionne, plutôt que de créer un nouveau test, il est tentant d'étendre votre test existant en un test plus vaste qui vérifie beaucoup de choses. Non. Au lieu de cela, créez des tests ciblés comme celui de cette étude de cas qui prouvent qu'une transaction commerciale fonctionne. Test Studio vous permettra de mettre en place des tests qui combinent plusieurs tests ciblés, chacun vérifiant l'une des transactions de votre application. Avoir un inventaire de nombreux tests E2E ciblés est une meilleure stratégie que d'avoir un seul gros test qui vérifie tout.

Et c'est vraiment votre prochaine étape : rassembler les tests et les exécuter aussi souvent que vous le souhaitez afin de confirmer que votre application fonctionne comme prévu. Vous pouvez toujours revenir à Test Studio pour réexécuter vos tests. Mais la véritable puissance de ces tests automatisés vient du fait qu'ils s'exécutent automatiquement – vous pouvez le faire aussi.

Ce qui signifie que non seulement vous pouvez maintenant réexécuter vos tests E2E quand vous le souhaitez… vous n'avez même pas besoin d'être là. C'est le meilleur résultat de tous.




Source link
Quitter la version mobile