Formation Pact - Automatisation des tests de contrats

Formation Pact - Automatisation des tests de contrats

Description

Aujourd’hui les architectures microservices sont de plus en plus répandues.

En revanche une des grosses problématiques avec l’architecture distribuée à base de microservices est les tests d’intégration inter-services.

La question principale est de savoir comment assurer les différentes interactions (api rest, messages d’événements) entre les différents services qui composent une architecture distribuée ?

Une stratégie de tests de contrats (Consumer-Driven Contract Testing / Directional Contract Testing) pourrait être une solution fiable et efficace à ce véritable défi des tests d’intégration inter-services ! Et pour mettre cette stratégie de tests de contrats en œuvre, le projet PACT.io (Open source) a créé une suite d’outils qui simplifie considérablement l’adoption des tests de contrats.

Cette formation Pact vous permettra d’acquérir et de maîtriser les concepts clés de l’automatisation des tests de contrats avec le framework Pact.io

Objectifs pédagogiques

À l’issue de cette formation d’automatisation des tests de contrats avec Pact, le participant sera en mesure de :

  • Comprendre les concepts fondamentaux des tests de contrats
  • Concevoir des tests de contrats automatisés avec Pact (Consumer et Provider)
  • Comprendre comment intégrer les tests de contrats avec Pact dans une chaîne de livraison continue

Public concerné

  • Testeurs ou développeurs désirant se former aux techniques d’automatisation des tests de contrats avec Pact
  • QA Managers, Lead QA ou chef de projet tests logiciels

Prérequis

  • Connaissances de base en JavaScript
  • Connaissances de base en tests fonctionnels
  • Connaissances de base en tests d’API (Rest)

Programme de la formation

Le programme de cette formation est composé de plusieurs modules allant des notions de base aux notions avancées

Module 1 : Introduction aux tests de contrats (Contract Testing)

  • La différence entre architecture monolithique et microservices
  • Les Problèmes avec les tests d’intégration traditionnels
  • Que ce que c’est les tests de contrats ?
  • Le principe de fonctionnement de tests de contrats
  • Avantages des tests contractuels
  • Les tests de contrats avec Pact
  • Les cas où les tests de contrats ne sont pas applicables
  • Présentation du projet PACT (pact.io)

Module 2 : Les tests de contrats côté consommateur (Consumer)

  • Définition du terme consommateur (Consumer)
  • Création du projet consumer(Nodejs)
  • Présentation et installation de la bibliothèque Pact-js
  • Spécification et implémentation de tests de contrats avec Pact-js
  • Exécution des tests d’intégration avec Pact et génération du fichier contrat.
  • Explication du contenu du fichier contrat
  • Synthèse des différents étapes d’implémentation

Module 3 : Les tests de contrats côté fournisseur (Provider)

  • Définition du terme fournisseur (Provider)
  • Création du projet provider (nodejs)
  • Implémentation des tests de vérification de contrats avec Pact-js
  • Exécution des tests provider et vérification/validation du fichier contrat.
  • Synthèse des différents étapes d’implémentation

Module 4 : Pact-broker

  • Introduction à l’utilité du pact-broker
  • Présentation de l’interface graphique du serveur pact-borker
  • Implémentation de la publication du contrat dans le projet consumer
  • Publication du contrat et vérification du résultat sur l’interface graphique
  • Implémentation de la récupération de contrat dans le projet provider.
  • Récupération et validation de contact
  • Synthèse des différents étapes d’implémentation et d’utilisation de l’outil pact-broker

Module 5 : Intégration des tests de contrats dans une chaîne CI/CD

  • Présentation de l’outil pact-cli
  • Intégration du pipeline du projet consumer dans GitHub Actions
  • Intégration du pipeline du projet provider dans GitHub Actions
  • Validation de la chaîne complète de tests de contrats

Module 6: Concepts avancés

  • Bonnes pratiques
  • Comprendre le concept “pending test”
  • Comment éviter les boucles infinies sur la validation de contacts

Module 7 : Le mot de la fin

  • Synthèse
  • Partage de ressources / docs / Articles concernant les tests de contrats
Formateur
Tawfik Nouri

Tawfik Nouri

Automatisation des Tests Logiciels

Ces formations peuvent aussi vous intéresser :

Formation Appium - Automatisation des tests mobiles
  • 03 jours
  • Automatisation

Formation Appium - Automatisation des tests mobiles

Description Appium est un framework open source d’automatisation des tests mobiles conçu pour …

En savoir plus
Formation Selenium WebDriver - Automatisation des tests d'acceptation
  • 03 jours
  • Automatisation

Formation Selenium WebDriver - Automatisation des tests d'acceptation

Description Selenium WebDriver est un outil open source d’automatisation des tests …

En savoir plus
Formation K6 - Automatisation des tests de performance
  • 02 jours
  • Automatisation

Formation K6 - Automatisation des tests de performance

Description K6 est un outil open source de tests de performance.

En savoir plus