Introductionaux 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 eXtreme Programming
- Particularités des applications J2EE : différence entre les tiers, 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
- L'automatisation des tests avec Ant
- 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 fonctionnels et recettes
- L’approche boite noire
- Les données de test
- Spécifcations des tests et cahier de recette, recommendation
- Panorama des outils disponibles
- L’offre OpenSource (HttpUnit, JFunc, Lakta, Selenium…)
- L’Approche d’HttpUnit: Test-first development, l’importance des cas d’utilisation
- Différentes versions, installation et dépendances avec les autres librairies openSource
- Parcours de l’API disponible
- La classe WebConversation, les utilitaires pour parser la réponse
- Combiner JUnit et HttpUnit
- Extensions d’HttpUnit
Tests de montée en charge
- 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
Optimisation et profiling des applications
- Problématique
- Support de Java SDK pour le profiling (JVMTI)
- L'outil HProf de SUN, différences entre les versions disponibles
- Mécanisme de HProf, interactions entre la JVM et HProf, incidence sur l'exécution
- Démarrage et différentes options disponibles de HProf
- Panorama de l'offre
- Présentation de JProfiler