Informatique Informatique
Référence formation : 4-IT-QBAS - Durée : 4 jours

 
  • Objectifs
  • Pré-requis
  • Pédagogie
Comprendre la problématique de la complexité des développements logicielsComprendre le bénéfice de l'intégration continue pour améliorer la qualité des développementsAdopter les bonnes pratiques de rédaction des tests logicielsMettre en place une stratégie de campagne de tests automatisés avec les Framework et outils du marchéTravailler avec un gestionnaire de code source tel que Git, et adopter les réflexes du travail collaboratifComprendre le rôle des différents outils d'une chaîne d'intégration continueUtiliser un outil de construction logiciel pour automatiser les tâches de développementMettre en place une plateforme d'intégration continue autour de Jenkins
Posséder les connaissances et compétences équivalentes aux fondamentaux du développement Java ou aux fondamentaux du développement .NET ou aux fondamentaux de la programmation orientée objet en C++

Méthodes pédagogiques

Présentation des concepts, démonstration, exécution, synthèse et exercices pratiques d'assimilation

Modalités pédagogiques

Présentiel - Distanciel - AFEST

Moyens pédagogiques

Formateur expert du domaine - 1 ordinateur, 1 support de cours version papier ou numérique, un bloc-note et un stylo par personne - vidéo projecteur - tableau blanc

Modalités d'évaluation

Positionnement préalable oral ou écrit - Evaluation formative tout au long de la formation - Evaluation sommative faite par le formateur ou à l'aide de la certification NULL

Public concerné

Salariés - Demandeur d'emploi - Reconversion professionnelle

Si vous êtes en situation de handicap, vous pouvez joindre notre référent Handicap. Voir notre fiche Accès correspondante.

Contenu pédagogique

Introduction

  • Pratiques d'ingénierie logicielle et méthodes Agiles.
  • Le développement incrémental et itératif.
  • L'équipe Agile. Scrum et XP.

Les tests agiles

  • Définition et périmètre des tests agiles.
  • Cycle de développement : origine du TDD (Test Driven Development), ATDD, TDR, les types de tests...

Les tests développeurs

  • Définition et objectifs : les patterns basiques XUnit.
  • Principe des tests unitaires automatisés.
  • Règles de simplicité : règle des "3 A" (Arrange, Act, Assert).
  • Mise en œuvre de tests unitaires avec JUnit, le framework de test en Java.
  • Lanceur de tests (TestRunner).
  • Les méthodes d'Assertions.

Le TDD, développement guidé par les tests

  • Le cycle de développement.
  • Le principe du TDD : "test first", "tester, coder, refactorer".
  • TDD et pratiques agiles (XP) : l'intégration continue, le Pair Programming.

"Refactoring", le remaniement de code

  • Principes du refactoring.
  • Réduire l'apparition de la dette technique, rendre le code compréhensible.
  • Comment identifier le code à risque ? La notion de "Code Smells", signes de danger potentiel.
  • Les principales opérations de refactoring.
  • Rappel sur les Design Patterns.

Isolation des tests

  • Les doubles de test, leur utilisation.
  • Le "Mock Object" pour vérifier certaines hypothèses.
  • Le "Fake", pour la simulation.
  • Le "Stub" : fournir une réponse prédéfinie à un appel.

Le test comme cahier des charges, la notion d'ATDD

  • Les principes et avantages de l'ATDD.
  • Du scénario au test de recette.
  • Combiner ATDD, BDD et TDD.
  • Les outils (Fitnesse, Cucumber...).

Conclusions

  • Les bénéfices du TDD, le coût des tests.
  • Les autres types de tests (interface graphique, Web..).
  • Quelques outils.