le-blog-b-acceptance.1.jpg

Blog B/Acceptance

Trucs et astuces d'automatisation des tests #1 : Les écrans web

Posté par Le Lab B/Acceptance le 31 août 2018.

Si vous vous intéressez au sujet de l'automatisation, voici les conseils que vous aurez sans doute trouvés.

  • Sélectionnez les bons tests : Des tests pas trop longs, sur des applications dont aura vérifié l'automatisabilité. 
  • Maîtrisez l'environnement : Un automate de test a besoin de s'exécuter sur un environnement fiable, représentatif de la production, assurant des temps de réponse raisonnables.
  • Maîtrisez la donnée : Vos automates doivent s'appuyer sur des données prédictibles et réutilisables. 
  • Appliquez les bonnes pratiques de l'automatisation : Modularisation, Data Driven Testing.
  • Maîtrisez sa base d'élément UI : Object repository, Page object.

C'est sur ce dernier point que je m'attarderai aujourd'hui.

Pourquoi ma base d'éléments UI est-elle si importante ?

La base d'éléments UI (object repository ou page object en fonction de votre automate) constitue le socle du projet d'automatisation.
En choisissant correctement la méthode et les critères d'identification de chaque élément UI, on garantie la maintenabilité et la robustesse d'un automate. Or ce choix est fortement soumis à la manière dont ont été conçus les écrans.

Quelque soit la technologie, il existe des bonnes pratiques de développement permettant d'assurer la testabilité d'une application.
Nos projets d'automatisation les plus réussis sont ceux qui ont positionné la testabilté comme une exigence forte dès le démarrage des développements.

Généralement, les points qui nous bloquent en tant qu'automaticiens sont les suivants :

  • Pas d'identifiant
  • Des identifiants dynamiques
  • Des identifiants changeant en fonction de l'humeur du développeur

Quelle solution pour le web ?

Initialement, nous demandions aux développeurs d'ajouter des attributs ID à l'ensemble des éléments UI avec lesquels nous allions interagir.
Ceci n'était pas toujours possible et n'apportait pas forcément de valeur en dehors de la testabilité.
Aujourd'hui, nous préconisons l'application de bonnes pratiques telles que BEM (Block Element Modifier).
Cette méthode propose une convention de nommage des attributs CLASS, permettant :

  • aux développeurs une meilleure maintenabilité CSS et JavaScript.
  • aux testeurs une accélération de l'automatisation.

Nous préconisons en complément l'ajout d'attributs data-*, pour différencier les composants génériques apparaissant plusieurs fois sur une même page (comme les blocs produits sur la page de résultat d'un site e-commerce).

exemple d'identifiants pour l'automatisation des tests

exemple de brief avec une de nos équipe de développement

Et pour les applications natives iOS ? Pour Android ? La suite au prochain épisode. ;-)

Catégories : automatisation

Bienvenue sur le blog de B/Acceptance, spécialiste du test/qualité logicielle en France.

Son objectif :

  • Diffuser et faire découvrir des bonnes pratiques et des outils du test fonctionnel, test automatisé et test de performance
  • Identifier les tendances : automatisation des tests, Intégration continue, Agile Testing, etc
  • Echanger autour du test digital : Web desktop, Web mobile, App

Lire nos articles

Inscrivez-vous au blog