Découvrez comment la solution Parasoft Continuous Quality permet de contrôler et de gérer les environnements de test pour fournir des logiciels de haute qualité en toute confiance. Inscrivez-vous pour la démo >>

BLOG

Vous voulez donc réaliser l'automatisation des tests Web. Et maintenant?

Vous voulez donc réaliser l'automatisation des tests Web. Et maintenant? Temps de lecture : 5 minutes
Ici, je discute des obstacles, des pièges et des succès que j'ai rencontrés au cours de mon voyage pour construire une nouvelle infrastructure de test d'automatisation Web ici chez Parasoft, et comment nous avons migré nos tests manuels existants.

Vous êtes enthousiasmé, ravi, optimiste et peut-être même un peu nerveux à l'idée d'une nouvelle opportunité d'automatisation des tests Web, offerte par votre responsable. Mais cela vous frappe soudainement. Par où diable dois-je commencer? Est-ce que je commence juste à écrire un test? Quel outil d'automatisation vais-je utiliser? Dois-je mettre en place une sorte d'infrastructure? Dois-je simplement commencer à écrire des tests localement sur ma machine, puis porter l'environnement vers un environnement intermédiaire? Quels obstacles dois-je considérer avant d'aller de l'avant? Tant de tâches à considérer !!

Avant de faire deux pas en avant, prenons simplement du recul et réfléchissons à ce que nous voulons exactement accomplir.

Construire une nouvelle infrastructure de test d'automatisation Web

L'automatisation des tests n'est pas un nouveau concept dans notre industrie. Il existe de nombreuses ressources qui traitent de ses avantages et inconvénients, et de nombreuses approches différentes pour réussir une infrastructure d'automatisation des tests. Ici, je vais discuter des obstacles, des pièges et des succès que j'ai rencontrés au cours de mon parcours pour créer une nouvelle infrastructure de test d'automatisation Web ici à Parasoftet comment nous avons migré nos tests manuels existants. J'espère que lorsque tout sera dit et fait, vous pourrez utiliser mon expérience pour rationaliser votre processus un peu plus efficacement.

Tout d'abord, permettez-moi de vous expliquer un scénario que j'ai vécu lorsque l'on m'a confié la responsabilité d'une nouvelle équipe et de la mise en place et du fonctionnement de l'infrastructure de test d'automatisation Web de l'équipe. L'objectif final était défini, mais c'était entièrement à moi de décider du chemin que j'allais emprunter pour y arriver.

Définition des jalons

La première chose que j'ai faite a été de me réunir avec toutes les parties prenantes impliquées et de définir quels seraient mes jalons.

J'ai posé les jalons suivants:

  • Faire des recherches
  • Définir la portée / la couverture des tests
  • Créer et maintenir des tests d'automatisation et poursuivre la collaboration avec les membres de l'équipe
  • Publier les résultats

Alors décomposons cela un peu.

Faire des recherches

Comme pour toute autre tâche importante, vous voulez toujours faire preuve de diligence raisonnable et rechercher tous les outils nécessaires pour y parvenir. Quels sont certains des éléments que nous avons dû considérer, demandez-vous? Voyons, tout d'abord, il y avait la question de savoir quels outils nous utiliserions et dans quel langage de script nous écrireions. Est-ce évolutif? Comment est la maintenance, est-ce quelque chose qui peut s'intégrer dans l'éco-système existant des équipes? Quelle serait la courbe d'apprentissage pour ceux qui maintiendraient les tests automatisés? Qu'en est-il de l'infrastructure de l'équipe de développement existante, est-ce qu'elle s'intègre à cela? Et qu'allons-nous faire pour les rapports. Nous devions considérer la familiarité de l'équipe avec les outils existants au sein de l'entreprise, et qui maintiendrait le test, à court et à long terme.

Après avoir considéré de nombreux facteurs, nous avons décidé d'utiliser Parasoft SOAtest pour les tests d'automatisation Web et PAO Parasoft pour la qualité fins de rapport. Il répondait à la majorité de nos questions, était facile à utiliser et ne nécessitait aucune connaissance préalable des langages de programmation. Chaque entreprise, chaque équipe et même chaque individu aura un ensemble différent de questions à répondre avant d'aller de l'avant, mais l'essentiel est d'essayer d'obtenir une réponse au plus grand nombre de vos questions à l'avance plutôt que plus tard pour réduire les goulots d'étranglement que vous pourriez rencontrer devant.

Définir la portée / la couverture des tests

Ensuite: que devez-vous définir comme la portée des tests à automatiser? Ne soyez pas cette personne qui essaie de tout automatiser. Ce sont des tests fonctionnels Web, vous devez donc vous concentrer sur les zones à fort trafic ou la partie la plus couramment utilisée de l'interface Web de l'application pour tirer le meilleur parti de vos tests automatisés.

Pour moi, étant donné que l'application sous test (AUT) était nouvelle pour moi, j'ai dû travailler avec les développeurs et l'assurance qualité existante pour comprendre les cas de test actuels et la procédure de test de fumée manuel. Leurs cas de test manuels existants se situaient à un niveau supérieur (pour les tests exploratoires), de sorte que l'ingénieur QA ne pouvait pas simplement me diriger vers des cas de test existants pour l'automatisation. C'était une collaboration constante à chaque sprint, et même parfois dans notre stand-up quotidien pour nous assurer que nous avions la couverture que nous voulions automatiser. Une fois le périmètre défini, nous avons hiérarchisé les zones de couverture afin que je sache exactement sur quoi travailler en premier. C'est une bonne règle de base: même si vous connaissez l'application, vous devez toujours travailler en collaboration avec l'équipe existante lors de la définition de la portée.

Créer et maintenir des tests d'automatisation et poursuivre la collaboration avec les membres de l'équipe

Une fois l'infrastructure mise en place et la portée et les priorités définies, je peux enfin commencer à créer les tests automatisés. Pour terminer! J'écris ma première série de tests automatisés.

Pour ce projet, j'ai d'abord utilisé la fonction de lecture du navigateur pour bien comprendre Parasoft SOAtest et ensuite facilement migré vers la création de mes propres tests de lecture de navigateur et / ou la modification de ceux-ci. Je n'ai pas honte de dire que mes premiers tests n'ont pas été mis en œuvre de manière idéale. Mais c'est ainsi que nous apprenons tous, non? Par essais et erreurs.

Mes premiers tests étaient très dépendants de l'environnement, où ils ne pouvaient être exécutés que dans une séquence spécifique. Il n'y a pas eu de montage ou de démontage dans le cadre de mon test. Cela a évidemment rendu plus difficile la maintenance et le dépannage pour les autres membres de l'équipe. Nous avons commencé à utiliser les capacités intégrées de l'outil pour configurer / démonter le test, réutiliser le test existant (test partagé en tant que sous-ensemble d'un autre test) et les paramétrer afin qu'il puisse être portable dans différents environnements. Il a été facile d'intégrer le test de l'API REST dans notre test fonctionnel Web d'automatisation, ce qui nous a rendu la vie beaucoup plus facile pour renseigner les données préalables. Un seul ensemble de tests a été exécuté de manière transparente sur différents navigateurs. Parfois, nous avons rencontré un problème spécifique au navigateur, par exemple impossible d'exécuter l'action Click où l'élément n'est pas visible. Mais la puissante fonctionnalité intégrée de l'outil pour différentes conditions d'attente, la capacité d'exécuter du JavaScript arbitraire, une documentation riche et le forum des utilisateurs actifs, nous ont sauvés.

Publier les résultats

Le dernier objectif que j'avais identifié était l'aspect de rapport des résultats des tests. Et ici, tout est question de visibilité. Ce n'était pas une formule secrète que j'ai concaténée et que je voulais garder pour moi. Au contraire, je voulais que tout le monde soit au courant des résultats pour que toute l'équipe soit responsable du maintien des tests.

J'ai configuré les résultats des tests à signaler dans le Plateforme de reporting Parasoft DTP. J'ai pu facilement créer un tableau de bord avec plusieurs gadgets pour afficher les résultats du test, où il pouvait être affiché sur grand écran de télévision au sein de notre département de développement. De cette façon, il n'y avait aucun moyen de se cacher de la vérité.

La seule façon dont nous en tirerions profit sur toute la ligne était de maintenir les résultats des tests à 100% de réussite. Sinon, ce ne serait que du bruit dont personne ne se soucie. Avant même de commencer, j'avais établi avec le développement que ce serait un objectif d'équipe à maintenir, pas un travail d'une seule personne. Ils étaient tous d'accord, et maintenant, quand je rentre dans le bureau tous les matins, je peux facilement lever les yeux et voir où nous en sommes avec les résultats des tests de la course précédente. C'est de la musique à mes yeux.

Réflexions finales

Tout terminer n'a jamais été censé être un travail d'une seule personne, et je ne voulais pas non plus essayer de le faire moi-même. Il a fallu beaucoup de collaboration et de soutien de la part de l'équipe, y compris de la direction. Une chose que j'ai apprise, c'est que vous devez rester au top des tests. Gardez-le maintenu et en passant à 100%. N'oubliez pas que vos tests automatisés sont comme un organisme vivant - il faut en prendre soin au quotidien, et n'hésitez pas à optimiser votre test.

Faites vos recherches avant de plonger dans le projet et vous serez en mesure de résoudre certains des goulots d'étranglement à l'avance. Dans l'ensemble, ce fut une grande expérience d'apprentissage pour moi et j'ai hâte d'être jeté dans le foyer d'une autre équipe, de rincer et de répéter les mêmes procédures que je viens de terminer.

Commencez à utiliser des technologies de test de logiciels de nouvelle génération dans votre organisation

Écrit par

Daniel Garai

Daniel est le directeur de l'assurance qualité de Parasoft. Il croit en la mise en place de tests manuels et automatisés dans le cadre du processus d'assurance qualité des logiciels de test.

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.