Sélectionner une page

Qualité logicielle et tests - Les fondamentaux

Formation, Informatique

Télécharger le programme de la formation !

Objectifs de la formation

  • Comprendre la problématique de la complexité des développements logiciels
  • Comprendre le bénéfice de l'intégration continue pour améliorer la qualité des développements
  • Adopter les bonnes pratiques de rédaction des tests logiciels
  • Mettre en place une stratégie de campagne de tests automatisés avec les frameworks et outils du marché
  • Travailler avec un gestionnaire de code source tel que Git, et adopter les réflexes du travail collaboratif
  • Comprendre le rôle des différents outils d'une chaîne d'intégration continue
  • Utiliser un outil de construction logiciel pour automatiser les tâches de développement
  • Mettre en place une plateforme d'intégration continue autour de Jenkins

Participants / Pré-requis

  • Développeurs, chefs de projets, architectes logiciels

  • 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++

Moyens pédagogiques

  • Présentiel, présentiel à distance ou en format de blended learning

Programme

1. Introduction

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

2. 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...

3. 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.

4. 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.

5. "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.

6. 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.

7. 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...).

8. Conclusions

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

Intéressé par une de nos formation ? Inscrivez-vous ou contactez votre conseiller AFIB !

Intéressé par une de nos formations ? Inscrivez-vous ou contactez votre conseiller AFIB !