• Français

CATALOGUE

        








Test Driven Development en Php

Version imprimableSend to friend
LieuDates# de joursPrix
Paris06/06/2011 > 07/06/20112 jours990 €HT
Paris17/10/2011 > 18/10/20112 jours990 €HT
Précisions techniques

Référence

TCP0801

A qui s’adresse ce cours

Développeur, Chef de projet, Coach/ScrumMaster

Moyens pédagogiques

Théorie : 30% - Pratique : 70%

Sessions

8 stagiaires maximum

Connaissances requises

Il est demandé aux participants de connaître les notions de base du langage Php. Aucune notion d'UML est nécessaire.

Thème

Injecter la qualité au coeur du développement

Présentation du sujet

Le Test Driven Development (TDD) se traduit en français par "Développement Piloté par les Tests". Il s’agit d’un procédé de développement logiciel qui améliore sensiblement la qualité des produits en substituant l'approche traditionnelle "Coder-Tester-Déboguer" par l’approche "Tester-Développer-Remanier". Ce procédé possède la propriété de pouvoir prendre en considération la chaoticité du changement des spécifications tout au long du développement tout en permettant de contrôler en temps réel la non régression fonctionnelle de ce qui a déjà été développé. Ainsi il élimine un certain nombre de goulots d’étranglement liés au processus de développement et contribue à linéariser sa complexité et à réduire considérablement les coûts d’intégration, de recette et de maintenance.

En conséquence, Qualité logicielle, Pérennité et Evolutivité sont les maîtres mots de ce nouveau procédé qui permet de produire plus efficacement tout en réduisant le nombre de défauts et les coûts de développement. Au cours de la formation, vous découvrirez ces nouvelles techniques de test au travers des techniques expertes telles que la conception simple, le refactoring, la conception émergeante, les Mock, le Test Driven Requirement et le Behaviour Driven Development.

L’intégralité de cette formation intègre un processus d’accompagnement aux changements et couvre également les questions fondamentales : Qui doit tester ? Ce qu’il faut tester ? Est-ce un procédé rentable et productif ? Le travail en binôme est-il indispensable ? Comment remanier un code existant (legacy code) ?

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é.






::adCenter::