Logo
  • A propos
  • Blog
  • Services
  • Media
  • Contact
Contactez-nous !
Logo

Accueil

Blog

Newsletters

Podcasts

Vidéos

Qui suis-je ?

Shift Op Solutions

Mentorat

Formations

Etat des Lieux

Contact

Copyright © Jean-François Fresi 2024 - Site créé en nocode.

LinkedInYouTubeSpotifyRSS

Serie sur les desing pattern (pour l’été)

Article 1 :

🎯 Page Object Model : La base solide pour toute automatisation UI

➡️ Contenu :

  • petit introduction et historique de ce pattern
  • Définition simple et objectif du pattern.
  • Exemple : automatiser un login sur un site e-commerce.
  • Schéma : séparation test ➜ page ➜ éléments.
  • Préciser que le POM peux aussi au niveau composant (Page Component Objects). tu peux citer pour cela martin fowluer avec le bon lien https://martinfowler.com/bliki/PageObject.html ainsi que ce lien : https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/
  • Cas concret à ajouter ( Login ?)
  • Bonnes pratiques : pas de logique métier dans les pages, centralisation des sélecteurs.

inclure des schémas décrivant l’architecture du design patterm

ajouter une FAQ sur la fin de l’article

Article 2 :

🎯 Factory Pattern : Réduire la duplication et générer vos objets de test efficacement

➡️ Objectif : Centraliser la création d’objets de test.

➡️ Cas : création de clients avec ou sans options.

➡️ Astuces : Faker, méthodes de variation, data-driven tests.

Article 3 :

🎯 Facade Pattern : Cacher la complexité de vos scénarios automatisés

➡️ Objectif : Regrouper plusieurs actions complexes dans un seul appel.

➡️ Cas : scénario e-commerce (login, panier, commande).

➡️ Bonus : quand utiliser un Facade vs un service métier mocké.

Article 4 :

🎯 Builder Pattern : Créer des objets de test complexes avec clarté

➡️ Objectif : Faciliter la personnalisation d’objets complexes.

➡️ Cas : souscription à une assurance avec options.

➡️ Schéma : fluent interface .withOptionA().withoutOptionB().

Article 5 :

🎯 Screenplay Pattern : Structurer vos tests pour plus de lisibilité et de robustesse

➡️ Objectif : Écrire des scénarios métier orientés acteur et tâche.

➡️ Cas : parcours client sur plusieurs écrans.

➡️ Comparatif POM vs Screenplay + structure de projet type.

➡️Contenu :

  • Origine du pattern et philosophie "actor - task - interaction".
  • Cas d’usage : scénarios d’achat utilisateur multi-pages.
  • Comparaison avec Page Object : quand passer à Screenplay ?
  • Code d’exemple + structure d’un projet typique.

Article 6 :

🎯 Combiner les Patterns : Architecturer un framework de test solide et évolutif

➡️ Objectif : Mettre en synergie les patterns pour un projet structuré.

➡️ Cas : framework multi-domaines (web, mobile, API).

➡️ Schéma d’architecture + conseils d’évolution progressive.

➡️ Contenu :

  • Vue d’ensemble : quel pattern pour quel besoin ?
  • Cas concret : automatisation d’un portail B2B – de l’auth à la facture.
  • Schéma de l’architecture complète (PO + Builder + Strategy).
  • Conseils pour démarrer simple et évoluer sans douleur.

Article 2 :

🎯 Screenplay Pattern : Pour des tests lisibles, réutilisables et robustes

➡️ Contenu :

  • Origine du pattern et philosophie "actor - task - interaction".
  • Cas d’usage : scénarios d’achat utilisateur multi-pages.
  • Comparaison avec Page Object : quand passer à Screenplay ?
  • Code d’exemple + structure d’un projet typique.

Article 3 :

🎯 Factory Pattern : Générer dynamiquement vos données de test

➡️ Contenu :

  • Utilité dans la création de fixtures/mocks.
  • Exemple : génération de profils utilisateurs valides/invalides.
  • Intégration dans les tests automatisés via Faker/FactoryBoy.
  • Astuces pour séparer données statiques et dynamiques.

Article 4 :

🎯 Builder Pattern : Construire vos objets de test avec flexibilité

➡️ Contenu :

  • Pourquoi éviter les constructeurs surchargés en test.
  • Exemple : créer une commande client avec étapes personnalisées.
  • Code d’exemple clair : .withPromoCode().withShippingOption().
  • Complémentarité avec le pattern Factory.

Article 5 :

🎯 Strategy Pattern : Adapter dynamiquement vos vérifications

➡️ Contenu :

  • Idéal pour tester différents algorithmes/stratégies métiers.
  • Exemple : calcul de remises selon profil client.
  • Mise en œuvre dans vos assertions personnalisées.
  • Refactor de tests conditionnels en pattern Strategy.

Article 6 :

🎯 Decorator Pattern : Ajouter des comportements sans modifier vos steps

➡️ Contenu :

  • Permet d’enrichir dynamiquement les interactions.
  • Cas d’usage : ajouter des logs, des captures, ou des métriques autour d’un clic.
  • Exemple de mise en œuvre en Java/Python.
  • Attention à ne pas surdécorer (risque de complexité inutile).

Article 7 :

🎯 Observer Pattern : Suivre les événements clés pendant les tests

➡️ Contenu :

  • Utilisé pour logguer, monitorer ou déclencher des actions annexes.
  • Exemple : notifier une base de test ou un outil de reporting dès qu’un test échoue.
  • Intégration avec des outils comme Allure, ReportPortal, etc.
  • Avantages : décentralisation des responsabilités dans les tests.

Article 8 :

🎯 Combiner les Patterns : Architecture d’un framework maintenable et scalable

➡️ Contenu :

  • Vue d’ensemble : quel pattern pour quel besoin ?
  • Cas concret : automatisation d’un portail B2B – de l’auth à la facture.
  • Schéma de l’architecture complète (PO + Builder + Strategy).
  • Conseils pour démarrer simple et évoluer sans douleur.