Fermer

octobre 28, 2021

Act-Verify : Construire des tests fonctionnels à toute épreuve


Comment les tests fonctionnels des tests automatisés de bout en bout peuvent-ils vérifier que le logiciel répond aux attentes de vos utilisateurs ? Jetons un coup d'œil.

Vérifier que l'interface utilisateur de votre application répond aux attentes des utilisateurs grâce à des tests automatisés de bout en bout nécessite plus que d'enregistrer votre test fonctionnel dans le navigateur en suivant un cas de test prédéfini étape par étape. Cela nécessite d'activer une logique d'assurance qualité en s'assurant que ce que vous voyez pendant l'enregistrement correspond à ce que les utilisateurs obtiennent lorsqu'ils interagissent avec votre interface utilisateur, en parfaite conformité avec le comportement attendu de l'application. Je vais vous montrer comment faire la différence.

Que sont les tests fonctionnels ?

Les tests fonctionnels sont un type de test boîte noire qui est effectué pour confirmer que la fonctionnalité d'une application ou d'un système se comporte comme prévu. . En général, les ingénieurs QA construisent leurs tests fonctionnels dans le seul but : valider la fonctionnalité du logiciel à tester. Malheureusement, tous les tests que nous écrivons ne sont pas assez bons pour remplir leur véritable objectif.

Dans cet article de blog, je vais illustrer ce que signifie créer des tests fonctionnels à toute épreuve sur la base d'exemples pratiques. Pour illustrer mon idée, j'utiliserai Test Studioun outil de test visuel low-code qui vous permet de créer des tests automatisés de bout en bout en enregistrant des actions dans le navigateur.

Quand ajoute-t-il des vérifications. Faire sens et pourquoi ?

Avant d'expliquer comment ajouter des vérifications, regardons rapidement dans les coulisses. En tant qu'ingénieur QA, une partie essentielle de vos responsabilités en matière d'automatisation consiste à comprendre la couche métier et à vous assurer que tous les efforts de test que vous et votre équipe investissez vérifient certaines fonctionnalités par rapport à un ensemble d'exigences métier que votre logiciel doit remplir à partir de le point de vue d'un utilisateur. C'est également connu sous le nom de test de bout en bout ou test à travers les yeux de vos utilisateurs.

Des exemples courants de fonctionnalités qui doivent être vérifiées lors de l'automatisation sont les processus de connexion et de déconnexion, de navigation vers une autre page dans le cadre de votre scénario de test et de s'assurer que la page a été chargée et que tous les éléments sont visibles, ou vérifier que le le bon produit a été ajouté au panier. Donnons un sens à cela en examinant de plus près l'un de ces exemples.

Le scénario de test de connexion

Imaginons que nous devions automatiser un exemple de page de connexion et que le scénario de test devrait ressembler à ceci :

  1. Naviguer vers une page de connexion
  2. Entrez le nom d'utilisateur
  3. Entrez le mot de passe
  4. Cliquez sur le bouton Connexion

Regardez les exemples de test suivants représentant le scénario décrit ci-dessus.

Exemple 1 :

Tests fonctionnels dans Test Studio

Exemple 2 :
Création de tests de bout en bout dans Test Studio

Remarquez-vous une différence entre ces tests ?

Alors que dans l'exemple 1, le test contient uniquement des étapes d'action, dans l'exemple 2, le test contient des étapes d'action et de vérification. Les étapes de vérification de l'exemple 2 jouent un rôle essentiel car elles garantissent que l'application a atteint un état spécifique après avoir effectué une étape d'action.

Bien que les deux exemples de test puissent réussir, seul le dernier vous donnera l'assurance que le produit logiciel réel correspond exigences attendues et peut garantir que cette section du produit logiciel est exempte de défauts. Donc, si nous avons l'intention de passer du temps à écrire des tests, comment pouvons-nous nous assurer que nous écrivons de bons tests fonctionnels ?

La puissance des bons tests fonctionnels

Nous pouvons détourner une idée d'un modèle très simple mais puissant utilisé dans les tests unitaires : le modèle AAA (Arrange-Act-Assert), qui est devenu presque un standard dans l'industrie. Arranger-Agir-Asserter le concept.

De même, nous pouvons utiliser le modèle Act-Verify dans nos tests fonctionnels, ce qui est un excellent moyen de structurer les cas de test. Comme démontré dans l'exemple 2, chaque scénario de test doit comprendre des étapes de test spécifiques qui effectuent certaines actions dans l'interface utilisateur de l'application et doit également contenir des étapes de vérification qui garantissent que l'application a atteint un état spécifique après avoir effectué l'action.

Dans Test Studio, lorsque vous utilisez la fonctionnalité d'enregistrement avec vos actions, vous enregistrez automatiquement les étapes d'action telles que la navigation vers une page, la saisie de texte dans un champ de saisie, le clic sur un bouton, etc. (voir l'exemple 1).

Cependant, pour créer de très bons tests fonctionnels, après avoir effectué les actions requises, vous devez également effectuer des vérifications (voir l'exemple 2). De cette façon, nous nous assurons que la fonctionnalité de l'application que nous testons fonctionne comme prévu.

Ajout de vérifications dans Test Studio

Les vérifications dans Test Studio ne sont pas ajoutées automatiquement comme les étapes d'action lors de l'enregistrement, mais le processus est extrêmement simple. Vous pouvez ajouter une vérification rapide à partir du menu d'enregistrement contextuel à l'aide du surligneur d'élément comme illustré ci-dessous, ou créer des vérifications avancées avec les outils d'enregistrement avancés.

Enregistrement des tests de bout en bout dans Test Studio

Types de vérification dans Test Studio

Les types suivants sont les vérifications les plus utilisées dans Test Studio et peuvent être utilisés pour vérifier l'état ou le comportement des éléments d'application Web ou WPF testés.

  • Visible – vérifie si l'élément est visible sur la page Web.
  • Exist – vérifie si l'élément est présent sur la page Web ou l'arborescence DOM.
  • Contenu – lors de l'ajout de la vérification, le contenu est construit dynamiquement par rapport à l'élément actuellement sélectionné. Vous pouvez vérifier InnerText, TextContent, InnerMarkup, etc.
  • Attributes – vérifie les attributs de l'élément tels que l'ID de l'élément, la classe, le nom ou tout autre attribut personnalisé.
  • Image – construit une vérification d'image par rapport à des éléments spécifiques pour des vérifications visuelles pixel par pixel dans les tests. La fonction de vérification d'image est basée sur le rendu visuel d'un élément plutôt que sur les propriétés ou les attributs de cet élément.

N'oubliez pas de consulter ce blog pour comprendre les types d'éléments de contenu de validation.

Résumé

Lors de l'écriture de tests automatisés de bout en bout, il est recommandé d'ajouter des étapes de vérification et de valider le comportement de l'application en réponse aux actions. Cela semble basique, en effet, mais c'est également fondamental pour votre stratégie de test et la façon dont vous convertissez les cas de test en tests automatisés.

L'ajout des bonnes vérifications au bon moment aura également un impact sur la stabilité, mais surtout la fiabilité, de votre essais. Ne pas le faire peut provoquer des échecs inattendus ou pire encore, des tests de réussite erronés.

En fin de compte, savoir où ajouter des vérifications et de quel type de vérification vous avez besoin signifie que vous, en tant que testeur, êtes au courant du parcours de vos utilisateurs et validez par rapport aux exigences métier que l'interface utilisateur de votre application est censée refléter.

Essayez Test Studio maintenant




Source link