Description
Ce cours présente et met en oeuvre un processus de test d'applications en environnement C++. Vous verrez comment chaque étape de la démarche de tests peut être automatisée. Vous apprendrez à vérifier l'efficacité de vos tests unitaires et à écrire des tests systèmes. Vous mettrez en place l'intégration continue.
À qui s'adresse cette formation ?
Pour qui ?
Responsables qualité et tests logiciels, développeurs, ingénieurs automatisation des tests.
Prérequis
Les objectifs de la formation
Programme de la formation
- Rappels sur la démarche de tests
- Définition.
- Les niveaux de test : unitaires, intégration, systèmes et recette, confirmation et non-régression.
- Les différentes techniques de tests.
- Le processus de test.
- Les cycles de développement et de test.
- Stratégie de test.
- Intérêt des stratégies de bout en bout.
- Décision d'automatisation.
- Quel suivi ? Echanges Définition des tâches pour mener à bien un projet d'automatisation d'une application C++.
- Analyse et conception
- Présentation de techniques de test.
- Exigences, test, condition de test, cas de test, procédure de test, prérequis.
- Qu'est-ce qu'une couverture ? Présentation d'un outil Open source testlink.
- Bonnes pratiques : couverture, valorisation, écriture des tests.
- Travaux pratiques Mise en oeuvre du référentiel de tests.
- Panorama d'outils Open source et payants pour la gestion des tests, présentation d'autres outils (TFS).
- Automatisation des tests unitaires
- Les tests unitaires : qu'est-ce qu'un pilote ? Utilisation des bouchons pour automatiser ses tests.
- Les types de couverture : instruction, branche, condition, décision.
- Travaux pratiques Mis en oeuvre du framework de test unitaire de Google en C++ (GTest) et d'un bouchon de test.
- Vérification de couverture de code avec Gcov.
- Automatisation des tests systèmes
- Organiser l'exécution des tests : environnements de test, gestionnaire d'anomalie.
- Automatiser les tests systèmes.
- Les tests d'API, WebService.
- Les tests d'IHM.
- Les tests de charges.
- Bonnes pratiques en matière d'automatisation.
- Présentation de Sélénium pour le Web.
- Solutions pour les autres types d'IHM.
- Travaux pratiques Automatisation de test d'IHM/Web avec AutoIT/Selenium/QTTest.
- Automatisation des tests de Web Service avec SOAP UI.
- Mise en place de tests de charge avec SOAP UI.
- Intégration continue
- Intégration continue : principe et avantages.
- Présentation de Hudson ou Jenkins, présentation de plug-ins.
- Reporting des résultats.
- Travaux pratiques Mise en place avec Hudson SVN et Make.
- Reporting des résultats de couverture et test, intégration avec Testlink.
- Conclusion
- Comment mettre en place une automatisation.
- "Keyword testing" : démonstration avec robot framework.
- Choix des outils.
- Outils Open source ou payants ?