Test Driven Development option Php

LieuDate# de joursPrix
Sur demande
Il est demandé aux participants de connaître les notions de base du langage Php. Aucune notion d'UML est nécessaire.
Précisions techniques

Référence

TCP0801

Public

Développeur, Chef de projet, Coach/ScrumMaster

Techniques pédagogiques

Théorie : 30% - Pratique : 70%

Sessions

8 stagiaires maximum

Pré-requis

Aucun

Prochaine étape

Agile Dojo ou Coaching

Thème

Injecter la qualité au coeur du développement

Description

Cette formation est recommandée à tous ceux qui cherchent un moyen efficace d’améliorer la qualité de leur logiciel. Elle consiste à développer un logiciel en l’enveloppant judicieusement d’une série de tests unitaires avec pour objectif de contrôler chaque ligne ou chaque fonctionnalité contenu dans son code. Et, pour ceux qui vivent avec un bugtracker rempli à craquer, ils verront comment désendetter techniquement leur application au cours du temps tout en faisant évoluer le logiciel à la demande des clients. Au cours de la formation, vous découvrirez de nombreuses techniques ; vous apprendrez par exemple à faire de la conception simple, du refactoring, de la conception émergeante, à implémenter des Mock et à utiliser le Test Driven Requirement ou le Behaviour Driven Development.

Objectif

Lors de cette formation, vous découvrirez :
  • Concevoir et réaliser des produits logiciels autour de tests unitaires et de recette
  • Comprendre l'importance des tests dans la production de logiciels
  • Remanier et consolider vos applications existantes en introduisant des tests
  • Et situer la pratique du développement piloté par les tests dans le contexte de la gestion de projet en général.

Programme indicatif

Introduction
  • L’origine du développement itératif et incrémental
  • Objectifs du TDD
I. Définition et Principes du TDD
  • Théorie
  • Les bibliothèques SimpleTest, PhpUnit et du framework de Symphony
  • Les 3A
  • Gestion des Exceptions
  • Test Driven Design
  • Atelier : Conception d’une fonctionnalité simple pour maîtriser les bibliothèques.
II. Le refactoring
  • Conception simple & évolution de l’architecture
  • Test Driven Design
  • Conception émergeante
  • Documentation par les tests
  • Atelier : Refactoring par l’exemple
III. Les meilleures pratiques de développement agiles
  • Les conditions limites
  • Test de Base de Données
  • Atelier : Module de sécurité
  • Test de Performance
  • Test de montée en charge
  • Test de sécurité
  • Stress tests
  • Impact des tests « après » au lieu des tests « Avant »
  • Atelier : Refactoring par l’exemple
IV. Les objects Mock : Mock, Fake et Stub
  • La théorie
  • Application de la théorie sans utiliser de bibliothèque
  • Découverte des bibliothèques du marché
  • Etude en détail des mocks sur PhpUnit et SimpleTest
  • Atelier : Exercice sur le Mock et le Fake
  • Atelier : Mini-Projet en TDD
V. Les Outils
  • Partage de code source (SVN, CVS, SourceSafe)
  • Automatisation des tests
  • Intégration continue et Intégrateurs Continu (phpundercontrol, CruiseControl, Rephlux, Hudson)
  • Couverture de test
VI. Test de Recette et TDD
  • Acceptance Test Driven Development (ATDD)
  • Test Driven Requirement : De la documentation exécutable conforme au programme
  • Behaviour Driven Development
  • Des UserStories aux tests de recette
  • Comment travailler avec son département d’Assurance Qualité (Architectures de déploiement, Intégrateur continu contraignant, processus ralentissant les développements) ?
  • Atelier : Liaison avec le mini-projet
Conclusion
  • Les nouveaux paradigmes de développement logiciel
  • Aspect psychologique du TDD
  • Intérêt du Test Driven Development
Mots-Clefs : Développement piloté par les tests, Test Driven Development, Programmation Pilotée par les tests, TDD, tests unitaires, tests de recette, tests d'intégration, conformité des spécifications, testabilité, automatisation des tests, agilité, scrum, extreme programming, test unitaire, test de recette, refactoring, remaniement de code, usine de tests, industrialisation, cruisecontrol, anthill, fitnesse, xunit, cppunit, junit, Nunit, httpunit, simpletest, Programmation Orientée Objet, Architecture, conception émergeante, simplicité.

Newsletter

Entrer votre Email pour rejoindre notre mailing list

Désinscription