Introduction
- Rappel sur les types de test (unitaire, intégration, fonctionnel, stress, charge...).
- Tests du côté serveur (unitaire de composant métier, performance, stress).
- Tests du côté client (IHM, robustesse).
Les phases de l'automatisation et leurs outils
- Préparation des données et des oracles de test.
- Exécution et évaluation des tests.
- Production de rapports de test.
- Chaîne d'automatisation des tests.
- Serveur d'intégration continue.
Travaux pratiques
Chaîne de tests automatiques intégrée dans un serveur d'intégration continue.
Automatiser les tests côté serveur
- Les outils disponibles pour les différentes plateformes : Java EE, .Net, PHP.
- Tests unitaires des composants métiers avec et sans conteneur.
- Tests d'intégration avec et sans objets factices (Mocks).
- Tests des services Web.
- Tests de stress des serveurs. Tests de déploiement.
Travaux pratiques
Mise en œuvre avec EJB3Unit, PHPUnit, DBUnit ,WSUnit, TestNG et DBUnit. Comparaison avec les outils dédiés à la plateforme .NET. Test de stress avec JMeter ou Gatling.
Automatiser les tests côté client
- Outils de test et de mise au point côté client.
- Les robots de tests pour les tests fonctionnels utilisateurs.
- Bibliothèques de développement dédiées à l'automatisation.
- Localiser les composants IHM (position, Id, Css, xPath...).
- Piloter les boîtes de messages et alertes.
- Tests unitaires et Javascript.
- Tests des pages HTML, tests multinavigateurs.
- Tests automatiques et Rich InternetApplication (Flex,JavaFX, ...)
Travaux pratiques
Automatisation des tests sur des pages HTML avec difficultés croissantes. JsUnit, HTMLUnit, Ranorex ou testComplete. Programmation de tests avec Selenium IDE et Selenium Server avec Katalon Studio.
Organiser et pérenniser les tests automatisés
- Outils de gestion des tests et de traçabilité amont vers les exigences.
- Faire face aux changements fonctionnels et techniques.
- Notion de référentiel de composants Web.
- Notion de couche et d'abstraction fonctionnelle.
- Paralléliser les tests sur un réseau de machines.
Travaux pratiques
Mise en œuvre d'un cycle de test complet avec TestLink, Mantis, Selenium : gestion des exigences, des tests, des anomalies, du robot et des résultats. Démonstration de Selenium GRID.