Formation Tests des applications Java : les bonnes pratiques pour des tests efficaces
2 JoursObjectifs de la formation Tests Java
Le test est une activité indispensable pour obtenir des applications de qualité ouvertes à des évolutions fonctionnelles régulières. Les dernières méthodologies de production, telle l’ extrême Programming, place le test au centre du processus de production d’applications.
Cette formation se concentre sur les problématiques de tests des applications Java et Java EE. Après une introduction à la typologie des tests, le cours expose les bonnes pratiques de développement de classe ou de plan de test. Pour chaque problématique, un atelier utilisant un outil Open Source largement répandu permet de mettre en pratique les recommandations exposées.
A l’issue de ce cours fortement axé sur la pratique, vous saurez mettre en place les différents types de tests usuels sur une application typique.
À qui s’adresse cette formation ?
Public :
Cette formation Tests des applications Java s’adresse aux développeurs, chefs de projets ou architectes impliqués dans la réalisation d’applications Java EE.
Prérequis :
Connaître le langage de programmation Java.
Contenu du cours Tests Java
Introduction aux tests des applications Java EE
Qu’est-ce que le test ? Sa problématique et son importance
Les types de tests : tests unitaires, test d’intégration, tests fonctionnels, tests de charge…
Les moyens : les plates-formes de test, l’instrumentation, l’automatisation, l’organisation des activités de test
Tests et conduite de projet : problématique de l’organisation des tests, comment gérer l’incertitude, la documentation liée aux tests
Test et méthodologies : Tests et USDP, Tests et UML, l’intégration continue et l’approche extrême Programming
Particularités des applications Java EE : différence entre les tiers, isolation des couches, prise en compte de la concurrence, notion d’anomalies
Tests unitaires (JUnit, TestNG)
La finalité des tests unitaires
Le test, pourquoi s’en priver ? La simplicité de JUnit
Séparation de la classe Test et de la classe à tester
Définition de la classe de tests et des cas de tests
Mise en place des suites de tests
JUnit, TestNG et Eclipse, plug-ins disponibles, paramétrage de l’environnement, écriture des cas de tests, des suites des tests, exécution du testTD :Générer les classes de test d’un projet existant, les exécuter avec Ant
Tests d’intégration (Arquillian)
Problématique des tests d’intégration, différence avec tests unitaires, règles de nommage
Le container Java EE, les conteneurs embarqués
Le pattern d’injection de dépendances pour l’isolation, le cas de Spring
Base de données et test d’intégration
L’innovation Arquillian
TD :Écriture de plusieurs classes de test d’intégration pour les différentes couches de Java E
Tests fonctionnels (suite Selenium)
L’approche boîte noire, particularités du test fonctionnel des applications web
Historique du projet Selenium et composants de la suite
Selenium IDE : présentation, syntaxe des scripts de test
Selenium Web Driver, programmation de test, intégration avec JUnit Diversité du client et Selenium GridTD :Enregistrement et exécution d’un scénario de test avec Selenium IDE
Ecriture d’une classe de test fonctionnel, exécution dans l’IDE Eclipse
Tests de performance et de montée en charge avec JMeter
Problématique et processus itératif
Mise en place de ,l’architecture de tests
Panorama des outils disponibles
Présentation du projet JMeter
Introduction à la notion de plan de test, les différents éléments disponibles
Particularités des applications Web
Les groupes de processus, les contrôleurs, les différents listeners
Construction d’un plan de test par enregistrement
Mise en place de la plate-forme de test, les différentes alternatives, le remote testing
Exécution le plan de test et analyse des résultats
Les Best Practices TD :Benchmark de l’application de gestion des contacts
Automatisation des tests, les tests dans l’intégration continue
La nécessité de l’automatisation
Les tests dans le processus de build
Automatisation avec Ant : tâches JUnit, Arquillian, JMeter
Les tests dans le cycle de vie de Maven, le plugin Surefire
Configuration Maven pour les tests d’intégration
Les tests dans l’intégration continue, la publication de résultats
Les métriques liés aux tests, les tests d’acceptance
Présentation de Jenkins et des plugins associés
TD :Automatisation avec Ant de tests unitaires puis de tests de charge. Maven et les tests d’intégration.
Construction de jobs Jenkins liant les différents types de tests.
Travaux Pratiques
Lors de ce stage, les participants utiliseront le serveur Tomcat et l’IDE Eclipse.
Ils pratiqueront également les frameworks JUnit, TestNG et Arquilian, la suite Selenium, les logiciels Jmeter et Ant, ainsi que les outils Maven et Jenkins.