• Français
  • Español

CATALOGUE

        






Test Driven Development option Java/J2EE

SessionDates# de jours 
Test Driven Development option Java/J2EE29/01/2009 > 30/01/20092 joursPour s'inscrire...
Test Driven Development option Java/J2EE12/02/2009 > 13/02/20092 joursPour s'inscrire...
Précisions techniques

Référence

TDJ0701

Durée

2 jours

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 d'un langage de développement. 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 Conduit 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.

Par conséquent, 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 et le Test Driven Requirement.

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) ?

Remarques :

  • Pour le langage comme C++, des techniques spécifiques de sécurité logicielle (ou anti-hacking) seront étudiées afin de prendre en considération la complexité de certain système telle que : OLE, DLL, Plug-In.
  • Pour le langage comme Java/J2ee, des techniques spécifiques côté serveur seront étudiées en détail.
  • Pour le langage comme .Net, des techniques spécifiques côté serveur et application seront étudiées en détail et des principes de logiques proposées.

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
  • Origine du TDD
  • L'agilité et les tests
  • Les limitations du débogueur
  • Etat de l'art
  • Industrialiser, c'est tester !
  • Le besoin de tester : Les types de tests
Définition et Principes du TDD
  • Théorie
  • Cycle de développement
  • La bibliothèque JUnit et Eclipse
  • Les 3A
  • Gestion des Exceptions
  • Refactoring et Conception émergeante
  • Composition d'un projet contenant des tests
  • Problématique d'exhaustivité des tests
  • Gestion des scénarii
Les meilleures pratiques de développement agiles
  • Gestion des conditions limites
  • Framework de tests
  • TDD et Gestion des données SGBDR
  • TDD et Gestion des données de type Fichier et Repository
  • TDD et Gestion des interfaces graphiques
  • TDD et Gestion des interfaces Web
  • TDD et Gestion des Servlets/pages JSP
Techniques avancées avec le TDD
  • Corriger des anomalies
  • Gérer la montée en charge et la sécurité des produits NTIC
  • Gestion de la sécurité logicielle
  • Gestion de la performance
  • Stress tests
Les objects Mock 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 de JMOCK ou MockObject
Les Outils
  • Les outils OpenSource et commerciaux
  • Architecture matérielle de tests
  • Etude d'un outil d'intégration continue
  • Etude et comment choisir un intégrateur continu (parmi lesquels, CruiseControl)
  • Etude d'un outil de couverture de test
  • Etude d'un outil de gestion des tests et de communication entre MOA et MOE : Fitnesse
Les qualités du TDD
  • Gains du TDD ?
  • Description des cas d'utilisation
  • Description des différents scénarii
  • Intérêt de l'industrie, des NTIC et des autres R&D
  • Les nouveaux enjeux industriels
Conclusion
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, httpunit, simpletest, Programmation Orientée Objet, Architecture, conception émergeante, simplicité.