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 œuvre 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 œuvre 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 ?