Training centre logo

Notre Catalogue de Formation

Training representation : Test Driven Development TDD en Php

Test Driven Development TDD en Php

TDD-P

In-person training
Accessible
Duration: 14 hours (2 days)
Duration:14 hours (2 days)
Excluding VAT
Pre-register
Duration:14 hours (2 days)
Excluding VAT
Pre-register
Duration:14 hours (2 days)
Excluding VAT
Pre-register

Training created on 3/19/24. Last update on 7/8/24.

Programme version: 1

Training programme

Cette formation organisée par AgilBee vous plonge au cœur du Test Driven Development (TDD) appliqué à PHP, une compétence essentielle pour tout développeur Web souhaitant améliorer la qualité et la maintenabilité de son code. En vous initiant à la rédaction de tests unitaires avant le code lui-même, vous apprendrez à construire une base de code robuste et flexible, prête à évoluer avec les besoins des clients tout en réduisant les bugs de manière significative.

Objectives of the training

  • Maîtriser le TDD pour améliorer la qualité et la robustesse des applications.
  • Appliquer les frameworks de test les plus récents.
  • Utiliser des Mocks pour simuler des interactions avec des composants externes.
  • Intégrer le TDD dans les flux de travail de CI/CD pour accélérer le développement et garantir la qualité.
  • Adapter le TDD aux architectures modernes comme les microservices.
  • Positionner le TDD au cœur de la gestion de projet agile avec une compréhension des avantages des outils d'IA pour le développement logiciel.

Profile of beneficiaries

For whom
  • Développeurs logiciels, ScrumMasters et chefs de projet qui souhaitent intégrer le TDD dans leur processus de développement.
  • Testeurs et Assureurs Qualité désireux de maîtriser les techniques de test avancées.
  • Architectes logiciels et ingénieurs système intéressés par les applications du TDD dans les architectures modernes.
Requirements
  • Connaître les bases du langage Php.
  • (Ceci n'est pas une formation au langage Php)
  • Avoir son propre ordinateur avec les droits "admin" pour installer des outils et des plugins.

Training content

  • Jour 1 : Introduction au TDD et Application aux Différents Langages
    • TOUR DE TABLE
  • Introduction au TDD : Contexte et Bases
    • Raison d'être des tests: pourquoi le TDD est essentiel dans le développement moderne.
    • Propriétés des tests automatisés: rapide, indépendant, reproductible.
    • Présentation des outils d'IA qui peuvent supporter le processus de test sans dominer la pratique du TDD.
    • Types de tests: unitaires, d’intégration, fonctionnels
    • Atelier : Analyse de cas d’échecs de tests dans des projets PHP pour comprendre l’importance du TDD dans l’agilité et le DevOps.
  • xUnit Patterns et Fondamentaux
    • Cycle de développement TDD: Tester + Coder + Refactorer.
    • Bibliothèques de test spécifiques à PHP: PHPUnit, SimpleTest, Behat.
    • Assertions et Programmation par Contrat.
    • Organisation des tests : Conventions spécifiques à PHP.
    • Test Driven Design : Refactoring et conception émergeante en PHP.
    • Travaux Pratiques : Mise en œuvre de tests unitaires en PHP avec PHPUnit et SimpleTest (adaptation possible du Framework).
    • Au delà de la théorie, comment se faire aider par l’IA intelligemment.
  • Code legacy et Refactoring : Approfondissement du TDD
    • Gestion des exceptions et conception émergeante.
    • Stratégies de tests sans limite, correction des anomalies.
    • Atelier de Refactoring: Après avoir écrit des tests pour un bloc de code existant, les participants seront guidés à travers un processus de refactoring pour améliorer la qualité du code tout en s’assurant que tous les tests passent.
    • Sessions interactives de résolution de problèmes courants avec le TDD.
    • Discussion sur les gains du TDD et les nouveaux enjeux industriels.
    • Atelier : Quick Design Session
  • Techniques Avancées sur les Bases de Données
    • Techniques pour tester unitairement les bases de données et applications concurrentes.
    • Utilisation de frameworks comme Symfony et Laravel pour simplifier le refactoring.
    • Travaux Pratiques : Automatisation des tests pour les applications Web et GUI.
  • Indépendance des Tests avec Doublures
    • Architecture et Fonctionnement des doublures : Mocks, Fakes, Stubs, Spy et Dummies.
    • Utilisation de frameworks comme Mockery ou PHPUnit_MockObject.
    • Travaux Pratiques : Création de Mocks et Stubs avec PHPUnit et une assistance d'IA pour identifier les scénarios de test optimaux.
  • Jour 2: Pratiques Avancées et Intégration du TDD en PHP
  • Test d'Intégration et Fonctionnels
    • Bibliothèque de Tests Fonctionnels : PHPSpec, Behat, Atoum, Kahlan, Codeception, Pest
    • Intégration des tests dans les pipelines CI/CD avec des outils comme Jenkins, GitLab CI et GitHub Actions spécifiques à PHP.
  • Spécification par l'Exemple et BDD
    • Application du Behavior Driven Development (BDD) et Test Driven Requirement (TDD).
    • Travaux Pratiques : Mise en œuvre des spécifications par l'exemple avec un support discret d'IA pour la génération de scénarios.
  • TDD, CI/CD et DevOps
    • Pratiques et outils pour l'intégration continue et le monitoring de la qualité.
    • Configuration d’un pipeline CI/CD avec Jenkins ou GitHub Actions pour automatiser l'exécution des tests PHP à chaque commit.
    • Travaux Pratiques : Utilisation des outils de couverture de test et autres indicateurs de qualité.
  • TDD pour les Architectures Modernes
    • Application du TDD aux API RESTful en PHP.
    • Atelier : Développement d'une fonctionnalité dans un contexte de microservices en PHP, écriture de tests pour les API.
  • Projet de Fin de Formation
  • Conclusion
    • Récapitulatif des apprentissages et des meilleures pratiques
    • Stratégies pour rester à jour avec les évolutions du TDD
    • Comparaison des méthodes Test First vs Test After, et des styles de programmation.
    • Discussion sur l'adoption du TDD et son intégration dans les projets agiles.
    • Engagement envers l’excellence logicielle grâce au TDD
    • Questions-Réponses et retour sur l'expérience de formation.
Teaching team

Nos intervenants sont des Coachs Agiles - Formateurs expérimentés

Monitoring of implementation and evaluation of results
  • Évaluation lors des ateliers tout au long de la formation Évaluation des acquis en fin de formation
Technical and educational resources
  • Théorie : 30 % (support de cours et slides) Pratiques : 70 % (exercices + programmation)

Reception capacity

Between 0 and 12 learners

Accessibility

Vous pouvez vous inscrire au plus tard la veille de la formation Personne en situation de handicap : Nous contacter pour répondre à votre besoin par email à rh@agilbee.com ou par téléphone au 06 19 81 31 03