Objectifs de formation
A l'issue de cette formation, vous serez capable de :
- Décrire les principes de développement des tests
- Mettre en oeuvre JUnit.
Prérequis
Avoir une pratique du langage Java.
Public concerné
Architectes, chefs de projets, consultants ou ingénieurs.
Programme
Introduction
- Pourquoi tester ?
- Différents types de tests
- Coût des tests
- Qu'est-ce qu'un test unitaire ?
- Quels tests réaliser ?
- Automatiser les tests
JUnit 3 : les concepts de base
- Cas de test (TestCase)
- Contraintes et conventions
- Structure d'un test
- Assertions, échec et erreur
- Exécution d'un TestCase
- Exécution automatique
- Résultat des tests
- Gestion du cycle de vie
- Factoriser les fixtures
- Test de levée d'exception
- Organiser les tests (TestSuite)
- Bonnes pratiques : comment tester ?
- Notion de couverture de tests
- Autres aspects avancés de JUnit3
- Limitations de JUnit3
JUnit 4
- Ecriture des TestCase avec les annotations
- Cycle de vie avec les annotations
- Exécution des tests avec JUnit 4
- Assertions avec
- JUnit 4
- Hamcrest
- AssertJ
- Test de levée d'exception
- Test de durée
- Désactivation d'un test
- Suppositions (assumptions)
- Suite de tests avec les annotations
- Organiser ses tests avec les catégories
- Tests paramétrés
- Concept de règle (Rule)
- Rules proposées
Mocks
- Motivation et principe
- Différents types de simulacre
- Concevoir "testable"
- Mock statique / dynamique
- Frameworks de mocking
- EasyMock : les bases
- Principe du record - replay - verify
- Vérifications plus complexes
- JMockit : pour le code non testable
- Mockito : un des plus utilisés
- PowerMock : pour compléter EasyMock / Mockito
- Bonnes pratiques
JUnit 5
- Nouvelle architecture
- Correspondance des concepts / annotations
- Nouvelles annotations
- Etiquettes (Tag)
- Nouvelles assertions
- Suites de tests avec JUnit 5
- Tests paramétrés avec sources
- Tests répétés
- Tests dynamiques
- Les tests imbriqués
- Tests dans les interfaces
Pour aller plus loin
- Principes du TDD (Test Driven Development)
- Principes du mutation testing
- Intégration continue
- Tests d'intégration
- Principes du BDD (Behavior Driven Development)
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Modalités d’évaluation des acquis
- En cours de formation, par des cas pratiques et/ou mises en situation
Accessibilité de la formation
Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Les détails de l'accueil des personnes en situation de handicap sont consultables sur la page Accueil et Handicap.
Modalités et délais d’accès à la formation
Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 11 jours ouvrés.