Test Driven Development option C++

LieuDate# de joursFormateur(s)Prix
Paris04/04/20123 jours Patrice Petit, CST & Coach Agile
1490 €HT
Paris06/06/20123 jours Patrice Petit, CST & Coach Agile
1490 €HT
Paris08/10/20123 jours Patrice Petit, CST & Coach Agile
1490 €HT
Précisions techniques

Référence

TCP

Public

Développeur, Chef de projet, Coach/ScrumMaster

Moyens pédagogiques

Théorie : 30% - Pratique : 70%

Sessions

8 stagiaires maximum

Pré-requis

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

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.

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 CppUnit,
    • 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
  • Techniques avancées avec le TDD
    • TDD sans limite : les techniques de « Hook »
    • 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é
  • 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é.

Newsletter

Entrer votre Email pour rejoindre notre mailing list

Désinscription