Objectifs de la formation
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 ?
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.
Programme
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 test
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
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.
Thèmes : Java