Cette formation incontournable en automatisation de tests logiciels offre une compréhension approfondie de la mise en œuvre et l’amélioration des tests logiciels, réduisant ainsi le coût et le temps de développement.
Grâce à une approche pratique, vous apprendrez à définir des scénarios de tests précis, à utiliser les outils appropriés pour divers types de tests, à analyser et à corriger rapidement les résultats.
Vous découvrirez également comment intégrer l’automatisation des tests dans le processus de développement logiciel pour augmenter la rentabilité.
Des sujets tels que les tests unitaires, les tests d’intégration, les tests fonctionnels, les tests de charge et de sécurité seront abordés.
De plus, vous acquerrez des compétences pour utiliser un référentiel de tests, effectuer une analyse statique de code, mettre en œuvre des tests de performance, et plus encore.
Programme détaillé
Introduction : rappels sur le test logiciel (2 heures)
- Le test dans le processus de développement
- Les tests : unitaire, intégration, fonctionnel, charge, sécurité
- Les différentes méthodes de test
- Déroulement et stratégie de test
- Travaux pratiques :
- Installation de la plate-forme de test
Automatisation des tests (4 heures)
- Définir la couverture et les exigences des tests
- Organiser les suites de tests et création des cas
- Critères sur le choix des tests
- Intégration des tests dans l’outil d’intégration continue
- Construction de la population de test
- Valider et mettre au point les tests
- Analyser et consigner les anomalies
- Amélioration continue adaptée aux tests automatiques
- Travaux pratiques :
- Utilisation d’un référentiel de tests
- Lier les produits avec Jenkins (TestLink, Squash TM, ou autres…)
Automatisation des tests unitaires (7 heures)
- Définir les tests unitaires
- Les bonnes pratiques
- Intégrer les tests unitaires à la plate-forme d’intégration continue
- Travailler en « Tests Driven Development «
- Définir et contrôler la couverture de code
- Réaliser une analyse des codes sources
- Utiliser des bouchons pour simuler les fonctions appelées : les objets Mocks
- Récupérer et consigner les résultats
- Travaux pratiques :
- Mise en œuvre de tests unitaires
- Analyse statique de code et de couverture de tests
- Intégration dans une chaîne de fabrication de logiciel (phpUnit, DBUnit, CheckStyle, Cobertura, Phing…)
Automatisation des tests d’intégration (7 heures)
- Systématiser les tests d’intégration
- La gestion des scripts de tests
- La gestion des données de tests
- Remontée automatique des anomalies
- Lancement automatiques des tests
- Travaux pratiques :
- Mise en place d’un environnement de tests d’intégration
- Intégration dans Jenkins
Automatisation des tests fonctionnels (7 heures)
- Les tests fonctionnels et la non-régression
- Simuler l’action des utilisateurs à partir des interfaces utilisateurs
- Automatisation des tests via les interfaces utilisateurs, par programmation
- Chaîne d’outils, robots de test, script (API publiques)
- Gérer l’obsolescence
- Travaux pratiques :
- Comment automatiser les tests fonctionnels sur client lourd et sur Web
- Utilisation de robots, d’une couche logicielle publique (API)
- AutoIt, Selenium
Automatisation des tests de charge / de sécurité (7 heures)
- Les tests à valider : performance, charge, stress, sécurité
- Réaliser et mise en œuvre des tests de performance
- Définir des indicateurs pour les tests de performance
- Utiliser des outils pour les tests de performance
- Analyse des résultats
- Tests de montée en charge, tests de stress : présentation des indicateurs clés et de l’outillage
- Travaux pratiques : déterminer le seuil de déni de service sur un serveur Web
Synthèse (1 heure)
- Les coûts liés à l’automatisation des tests
- Les gains réalisables par la mise en œuvre de système d’intégration continue
- Mesurer le retour sur investissement