-
Filière :
Méthodes, Tests, normes
-
Sous-filière :
Testing logiciel
-
Référence
MT-CPPT
-
Durée
3 jours (21 h)
-
Prix par personne HT
Sur demande
Objectifs pédagogiques
- Acquisition des principes fondamentaux et des bonnes pratiques du TDD
- Prise en main approfondie du Framework GoogleTest (GT) / GoogleMock (GM)
- Rédaction de tests élaborés et simulation avec GT / GM (Mocking / Facking)
- Pratique du refactoring d’un code développé avec l’approche TDD
- Principes de conception
Public cible
- Chefs de projets
- Développeurs
- Responsables qualité
- Responsables tests
Pré-requis
Pratique professionnelle du développement C++
Programme de la formation
La place des tests dans le processus de développement
- Processus, qualité, tests
- Typologie des tests
- Approche TDR (Test Driven Requirements)
- from user stories to test cases
- Tests unitaires
- Tests d’intégration
- Tests de (non) régression, …
- Approche TDR (Test Driven Requirements)
- Mise en place du TDD au sein d’une démarche agile
- Scrum, eXtreme Programming, …
- Pair Programming
Frameworks de tests automatisés
- Familles de frameworks
- Frameworks C++
Principes fondamentaux du TDD
- Calibrage des tests, principe YAGNI
- Le cycle de développement du TDD
- Le triple A « Arrange, Act, Assert »
- Stratégies pour faire passer les tests
- Approche Outside-In vs. Inside-Out
Prise en main de GoogleTest
- Création d’un projet
- Concepts de base
- Assertions
- Tests élémentaires
- Tests multiples : suites de tests et Test Cases
- Préparation et mutualisation des tests avec les Test fixtures
- Pilotage des tests
Mocks et doublures
- Qu’est-ce qu’une doublure ?
- Types de doublures
- Mocks et Fakes
Prise en main de GoogleMock
- Création d’une classe Mock
- Méthodes privées, publiques, surchargées, …
- Mocking et classes génériques
- Mocking de méthodes scellées
- Mocking de code C « legacy »
- Mocking par délégation
- Collaboration des Mocks et des objets réels
Utilisation des Matchers Hamcrest
- Matchers élémentaires et combinaisons
- Casting de Matchers
- Matchers multiples et dispatching
- Prédicats
- Arguments non copiables
- Validation de membres et pointeurs
- Matching et conteneurs
Tests comportementaux
- Simulation du cycle de vie d’un objet
- Attentes (« expectations »)
- Changement de comportement du mock selon l’état de l’ « objet réel »
- Cas particuliers
- Retour de références, pointeurs, exceptions
- Classes et méthodes génériques
Refactoring et principes de conception
- Composition versus spécialisation
- Polymorphisme versus généricité
- Inversion des dépendances
- Quelques « mauvaises odeurs » à combattre
- Techniques de refactoring en TDD
- Présentation de quelques patterns simples mis en oeuvre lors du refactoring / TDD
Qualité
Cette formation est accessible aux personnes en situation de handicap, nous contacter en cas de besoin d’informations complémentaires.
Programme mis à jour le