Image de NordWood Themes

Tests des Applications Java

Objectifs

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’ eXtreme 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 OpenSource 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.

A 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

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

 

 

 

 

 

TechnoWide

3 rue du Golf

Parc Innolin

CS 60073

33701 MERIGNAC CEDEX

Bordeaux

  • LinkedIn Social Icon
© 2020 TechnoWide - tous droits réservés