Accueil > Technologies, état de l'art

 > Qualité logicielle et tests – Les fondamentaux

null

Technologies, état de l'art

Qualité logicielle et tests – Les fondamentaux

Objectif

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 Framework 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

Durée : 4 jours (28 heures)

Dates :
-09/01/23
-28/03/23
-20/06/23
-29/08/23
-06/11/23

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

Programme de la formation

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