Découvrez comment intégrer facilement l'analyse statique, les tests unitaires et d'autres méthodes de test de logiciels C et C++ dans votre pipeline CI/CD. Inscrivez-vous pour la démo >>

Obtenez-vous ce dont vous avez besoin de votre outil de test d'interface utilisateur?

Par Chris Colosimo

10 octobre 2019

6  min lire

Les tests d'interface utilisateur ont connu une reprise d'activité au cours des dernières années. De nouveaux outils passionnants sont arrivés sur le marché, apportant toutes sortes d'approches innovantes pour simplifier la réalisation de ce qui était traditionnellement un processus assez compliqué.

À l'époque, nous n'avions que des solutions de grande taille comme IBM Rational Suite ou Mercury / HP / MicroFocus QTP / UFT. Maintenant, nous voyons beaucoup de gens passer des outils d'automatisation de test «traditionnels» à des alternatives open source, comme Selenium, ou à de nouvelles solutions ou frameworks innovants basés sur l'IA, comme mabl, Sélénique, ou Fonctionner. Ce changement est à l'origine de beaucoup de battage médiatique, mais il est également enraciné dans le traitement des plaintes et des défis courants, que vous devez vous assurer de résoudre si vous adoptez un nouvel outil.

Mais bien sûr, ce n'est pas aussi simple que de choisir le «meilleur» et d'aller en ville. Que vous ayez décidé de créer un cadre vous-même, d'avoir un contrôle ultime, ou que vous soyez décidé à entrer dans un cadre propriétaire qui offre des fonctionnalités avancées telles que l'auto-guérison ou l'exécution parallèle, il y a sept facteurs importants dans toute solution que vous devriez considérer.

1. Est-ce du sélénium?

Cela ressemble à une question chargée, non? Ce n'est pas. Sélénium est rapidement devenu la norme de facto pour les organisations qui souhaitent automatiser les tests d'interface utilisateur Web mais ne veulent pas être enfermées dans la plate-forme d'un fournisseur.

En tant que communauté, le projet open source Selenium a réuni des fournisseurs commerciaux et des puristes open source pour créer l'un des frameworks les plus puissants de notre industrie - et il est utilisé, beaucoup.

Selon nos recherches, plus de 64% des utilisateurs utilisent Selenium pour l'automatisation de leurs tests d'interface utilisateur. Es-tu?

C'est un facteur dont il faut tenir compte. Utilisez-vous Selenium? Si ce n'est pas le cas, c'est le bon moment pour penser à l'avenir et à la flexibilité que vous souhaitez faire avec vos futures initiatives de test. De nombreuses solutions sur le marché disposent désormais de fonctionnalités similaires au sélénium ou sont basées sur le sélénium, en se concentrant sur la valeur de l'importation / exportation de tests de sélénium pur. Mais ils ne fonctionnent pas avec du sélénium pur, ni n'exécutent du sélénium pur, vous devez donc travailler dans les limites de leur technologie.

2. Utilise-t-il le modèle d'objet de page?

Le modèle d'objet de page est un paradigme de conception de test d'interface utilisateur dans lequel les utilisateurs peuvent définir des éléments d'interface utilisateur en association avec les pages sur lesquelles ils sont présents. Voici un excellent tutoriel sur le modèle d'objet de page, si vous n'êtes pas encore familier. Afin de résoudre de manière proactive les problèmes de maintenabilité, vous voulez que vos tests d'interface utilisateur tirent parti de ce paradigme de modèle d'objet de page car il facilite beaucoup la maintenance de vos scripts en raison des emplacements des éléments définis en un seul endroit, puis exploités dans votre suite de tests.

La méthodologie des objets de page est puissante car elle permet de résoudre les problèmes de maintenabilité lorsque l'application change. Dans le modèle d'objet de page, un élément sur une page est défini à un emplacement, donc si vous avez identifié qu'un élément Web spécifique a été déplacé, vous n'avez pas à parcourir le script entier pour mettre à jour chacun des localisateurs individuels. Le modèle d'objet de page vous permet d'avoir une seule source de vérité pour un élément sur une page, pour rendre tout cela beaucoup plus automatisé.

3. Recommande-t-il des localisateurs intelligents?

La plupart des problèmes de maintenance qui se produisent lors de l'exécution de tests d'interface utilisateur proviennent de cas de test qui s'interrompent en raison des modifications de l'interface utilisateur d'une application. Ainsi, l'une des choses les plus importantes à faire lors de la conception de votre test d'interface utilisateur est de créer une méthode pour créer de la fiabilité et de la stabilité pour chacun de vos localisateurs d'éléments.

Une partie de la nouveaux outils de test de l'interface utilisateur adoptent des approches uniques et innovantes à cet égard, en utilisant différents termes, par exemple «localisateurs intelligents» ou «liaisons magiques». Quoi qu'il en soit, il y a beaucoup de potentiel pour vous de bénéficier de toute cette innovation, dans le domaine de la définition de plusieurs localisateurs pour un seul élément ou d'un bâtiment dans la meilleure stratégie de définition de localisateur possible.

4. Les scripts de test peuvent-ils s'auto-réparer?

L'auto-guérison ressemble à un état de rêve, où nos tests automatisés identifient automatiquement où les échecs se produisent, puis se chargent d'eux-mêmes de résoudre le problème. Ce qui est fou, c'est que c'est en fait une réalité dans de nombreux outils de test d'interface utilisateur populaires qui sont là-bas. En tirant parti des localisateurs intelligents, ces outils de test de l'interface utilisateur peuvent essayer différents localisateurs ou méthodes d'identification automatique des boutons dans l'interface utilisateur au moment de l'exécution.

Maintenant que mon esprit est époustouflé, je considère cela comme une nécessité absolue dans toute solution de test d'interface utilisateur, car en fin de compte, nous essayons de réduire le taux de désabonnement des tests et les cycles de test globaux. Si vous avez créé un millier de tests d'interface utilisateur et que vous les exécutez chaque nuit, vous ne voulez pas que la moitié d'entre eux se cassent parce que quelqu'un a changé un bouton de Ajouter au panier" à ajouter au panier."

5. Peut-il s'intégrer dans ma chaîne d'outils existante?

Dans votre organisation de développement logiciel, vous écrivez peut-être déjà du code dans une sorte d'IDE (c'est-à-dire Eclipse, IntelliJ), et vous construisez peut-être ce code avec un système de construction comme Jenkins. Ceux-ci seront des cadres éprouvés et mis en pratique qui ont été établis dans toute votre organisation.Il est donc clairement avantageux pour la solution de test d'interface utilisateur que vous utilisez de s'intégrer dans ce que vous avez déjà construit.

De nombreux outils de test d'interface utilisateur sont leurs propres outils séparés, ce qui est potentiellement très intéressant car cela signifie qu'ils se sont concentrés sur la création d'une solution capable de résoudre tous ces défis tout en ayant le contrôle ultime des scripts de test générés. Mais le verrouillage des fournisseurs (dont je parlerai un peu plus tard) est dangereux, et nous avons vu des organisations s'éloigner des solutions à grande surface pour cette raison même. Parce que les développeurs et les testeurs sont plus techniquement avertis qu'ils ne l'ont jamais été, ils veulent accéder à leurs scripts de test. Ainsi, lorsque vous examinez les outils de test de l'interface utilisateur, vous pouvez voir si vos scripts de test seront portables, pas seulement avec d'autres scripts qui doivent être intégrés dans votre pipeline DevOps, mais peuvent être vraiment intégrés dans votre framework existant.

6. Une assistance est-elle disponible?

L'expérience utilisateur est particulièrement critique dans les applications Web B2C, où une interface utilisateur confuse ou une expérience client peu fiable peut rapidement avoir un impact sur les revenus, et les organisations comprennent qu'il est essentiel de garantir une expérience transparente. Avec de nouveaux projets qui émergent quotidiennement et les exigences de test étant si agressives, en particulier avec le passage à Agile, être capable de se sortir d'un trou pourrait faire la différence entre sortir à temps et rater la fenêtre. Votre outil de test d'interface utilisateur vous aidera à valider cette expérience client critique - mais si vous essayez de faire quelque chose et que vous ne pouvez pas le comprendre, avoir une équipe de support d'un fournisseur pour vous débloquer est un choix que vous pouvez faire, avoir chaque fois que vous en avez besoin.

Il existe des frameworks ouverts qui peuvent être facilement intégrés dans vos frameworks existants, mais sans un excellent support, que se passe-t-il lorsque les choses tournent mal juste avant une version critique et que personne n'est responsable? Le sélénium est un excellent exemple ici - bien qu'il soit incroyablement puissant et qu'il soit soutenu par une merveilleuse communauté, il n'y a personne à appeler lorsque les choses tournent mal.

7. Pouvez-vous éviter le verrouillage du fournisseur?

Comme je l'ai déjà dit, plus de 20 nouveaux outils de test d'interface utilisateur sont entrés sur le marché au cours des dernières années. Qu'est-ce que cela signifie pour le nouvelle  cinq?? Tout ce que nous faisons actuellement changera sans aucun doute, en particulier du point de vue des tests d'interface utilisateur. Quelque chose de nouveau et d'excitant est inévitable, il est donc important de considérer maintenant comment nous facilitons le processus de migration. Une clé pour cela est de s'assurer que quelle que soit la solution que vous apportez ne vous enfermera pas dans un cadre propriétaire.

Puisque Selenium peut être facilement exécuté dans n'importe quel pipeline et est implémenté sous forme de code, il est très flexible. Certaines des nouvelles solutions ont pris cela en considération, avec des mécanismes d'importation / exportation pour vous permettre de basculer dans et hors de leur outil, mais l'importation et l'exportation doivent valider que cela fonctionne. Ce n'est pas aussi simple que vous pourriez le penser. Il me semble que si un fournisseur a confiance en ses capacités, il devrait fournir cette fonctionnalité. Et lorsque vous examinez les outils de test de l'interface utilisateur, vous pouvez demander: «Suis-je enfermé dans leur cadre?»

Quelle est la prochaine?

Si vous recherchez des outils de test d'interface utilisateur et souhaitez un guide pratique, consultez le 10 nouveaux outils de test d'interface utilisateur dont tout le monde parle, et commencez à poser ces questions lorsque vous considérez quels outils vous devriez adopter dans votre processus de livraison de logiciels.

Trouvez de vrais bugs plus rapidement avec Selenium plus intelligent

Par Chris Colosimo

Chef de produit chez Parasoft, Chris élabore des stratégies de développement de produits pour les solutions de test fonctionnel de Parasoft. Son expertise en accélération SDLC grâce à l'automatisation l'a conduit à des déploiements majeurs en entreprise, tels que Capital One et CareFirst.

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