Formation Tests avec C++

Améliorez la qualité de vos projets C++ grâce à des tests robustes, lisibles et maintenables.

Formation Tests avec C++

Description

Cette formation sur les tests C++ vous permettra de concevoir votre code produit et vos tests comme deux faces d’une même pièce en appliquant les principes SOLID, de maîtriser les frameworks GTest et GMock, et de refactorer votre code en toute sécurité.

Pendant 2 jours, vous apprendrez à :

  • Rendre votre code plus modulaire et testable.
  • Structurer votre base de tests pour maximiser son impact et sa maintenabilité.
  • Mocker proprement vos dépendances, y compris dans du code legacy difficile à tester.

Cette formation accorde une grande place à la pratique, avec des ateliers tirés de cas réels et la possibilité de venir avec son propre code.

Public

Cette formation s’adresse aux développeur·euse·s C++ qui souhaitent optimiser et sécuriser leur cycle de développement grâce au testing.

Les objectifs

  • Appliquer les principes SOLID pour un code C++ testable
  • Concevoir des tests efficaces et maintenables(FIRST, GWT, SRP)
  • Maîtriser GoogleTest et ses fonctionnalités avancées
  • Créer et utiliser des mocks adaptés avec GMock
  • Refactorer du code legacy en toute sécurité

Pré-requis

  • Maîtriser la programmation en C++ (classes, pointeurs et templates)
  • Connaître les bases de Git pour versionner ses refactorings
  • Ordinateur portable configuré pour compiler du C++
  • Ordinateur portable à apporter

Le programme de la formation Tests avec C++

Jour 1 : Écrire du code C++ testable et des tests fiables et maintenables

  • Accueil et présentations
    • Vos projets, vos défis avec les tests C++
    • Tour de table des attentes et des objectifs
  • Les bases d’un code testable
    • Les principes SOLID appliqués au test en C++
    • Identifier les pratiques clés pour réduire le couplage et mieux tester
  • Les bonnes pratiques du testing
    • Les tests FIRST : Fiables, Isolés, Répétables, Simples, Totaux
    • La technique Should / When pour comprendre ses tests en un clin d'œil
    • Le pattern Given / When / Then pour une lecture fluide
    • Un test, une règle métier pour une analyse des régressions facilitée
    • Test d’implémentation VS test de logique métier
  • GoogleTest pour aller plus loin
    • Les différents types de tests : Fixture, Paramétrés, Typés
    • Les asserters : usages et astuces méconnues
    • Les matchers : facilitent l’écriture du code et clarifient la sortie du test en cas d’erreur
    • Créer vos matchers personnalisés pour coller à votre métier et comprendre les FAILS sans passer en debug

Mises en pratique :
- Refactoring d’une classe trop couplée pour la rendre testable
- Réécriture d’une suite de tests existants avec un découpage orienté métier en suivant les principes FIRST, GWT
- Développer une suite de test en utilisant toutes la puissance des matchers GTest et des matchers personnalisés

Jour 2 : Mocking et refactoring de code legacy

  • Maîtriser le mocking avec GMock
    • Pourquoi mocker ? Isoler, simuler, tester les interactions
    • Créer et configurer vos mocks GMock
    • Gérer les comportements : Nice, Strict, Naggy
    • Matchers, actions, vérifications : bien les combiner et éviter les pièges
  • Travailler avec du code legacy
    • Ajouter des tests de sécurité avant refactoring
    • Techniques pour mocker une librairie externe proprement
    • La méthode Mikado : petit à petit, sans rien casser

Mises en pratique :
- Création de mocks pour simuler des composants externes : de la simple classe à la dépendance externe plus complexe
- Apportez un morceau de votre code, on le testera ensemble. Objectif : sécuriser, mocker et refactorer pas à pas

Télécharger le programme

Formations associées

Formateur

Nicolas MEO

Nicolas, ingénieur passionné par le développement C++, a démarré sa carrière en 2017. Fort d’une expertise acquise dans le nucléaire, la publicité programmatique et la medtech, il s'est spécialisé en C++.

Il se distingue par sa capacité à exploiter tout le potentiel des frameworks de test pour construire des bases de tests solides, vivantes et réellement utiles au quotidien des équipes. Par ailleurs, son goût pour le pair et mob programming encourage les stagiaires à se confronter à des cas pratiques pour ancrer leurs compétences.

Suivez une formation avec Nicolas pour maitriser les techniques de tests en C++ !

FAQ

Nos formations sont éligibles à plusieurs dispositifs de financement, selon votre situation. Human Coders est certifié Qualiopi, ce qui permet la prise en charge par des organismes comme Pôle emploi, votre OPCO ou encore le CPF (Compte Personnel de Formation) pour certaines formations.

Pour en savoir plus, veuillez consulter notre page : Comment financer votre formation ?

Oui, la formation peut être proposée en présentiel ou en distanciel. Pour les inter-entreprises, les modalités (présentiel ou à distance) sont fonction de la session.

Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)

Les formations se déroulent toujours en petit groupe de 3 à 6 stagiaires. Nous souhaitons que les formateurs et formatrices puissent passer un maximum de temps avec chacun·e.

Voici une journée type :

  • 9h : vous êtes accueillis par votre formateur·rice autour d'un petit déjeuner (croissants, pains au chocolat, jus de fruit, thé ou café...)
  • 9h30 : la formation commence
  • 12h30 : pause de midi. Le·a formateur·rice mangera avec vous. C'est l'occasion d'avoir des discussions plus informelles.
  • 14h : reprise de la formation
  • 18h : fin de la journée

8 raisons de participer à une formation Human Coders

  • Satisfaction client élevée : Un taux de statisfaction de 4,6/5 depuis 2012 (sur 1708 sessions réalisées). 99% des participants se disent satisfaits de nos formations
  • Approche pédagogique unique : Des formations en petit groupe, des formateurs passionnés et expérimentés, de véritables workshops... (Plus d'infos sur notre manifeste)
  • Catalogue de formations complet : 177 formations au catalogue, de quoi vous accompagner sur tout vos projets
  • Écosystème dynamique : Nous accompagnons les dev depuis 13 ans avec des initiatives comme Human Coders News, les Human Talks, le podcast ou encore notre serveur Discord
  • Financement facilité : Organisme certifié Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • Références clients prestigieuses : De nombreux clients qui nous font confiance depuis des années
  • Accompagnement sur mesure : Nous vous proposons un accompagnement personnalisé par nos consultants pour vous aider dans vos projets au-delà de la formation
  • Valorisation professionnelle : Remise d'un diplôme, d'une attestation et d'une certification, suivant les formations effectuées, que vous pourrez afficher sur vos CV et réseaux sociaux

* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012