Pratiquer le TDD (Test Driven Development) en C++

Blended learning

Wie lange dauert die Weiterbildung?

 3,00 Tag(e)

In welcher/n Sprache(n) wird die Weiterbildung angeboten?

EN FR

Wann findet der nächste Termin statt?

Wer bietet diese Weiterbildung an?

OXiane est spécialisé dans la conception et la réalisation de formations informatiques et de supports de cours pédagogiques sur les dernières technologies. Nos différentes filières permettent de couvrir tous les besoins en formation que ce soit en IT au sens large, mais également "Utilisateurs" et "Soft Skills" en Management, Communication & leadership.

An wen richtet sich die Weiterbildung?

  • Chefs de projets
  • Développeurs
  • Responsables qualité
  • Responsables tests

Welche Ziele werden verfolgt bzw. welche Kompetenzen sollen erworben werden?

  • 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

Wie sieht der Inhalt der Weiterbildung aus?

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, ...
  • 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

Was erhalten Sie am Ende der Weiterbildung?

Une attestation de participation sera transmise aux participants

Wie kann ich das Weiterbildungsinstitut kontaktieren?

Fiona Marin

Diese Weiterbildungen könnten Sie interessieren