1
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++.
2
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).
3
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.
4
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.
5
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.
6
Conclusion
- Comment mettre en place une automatisation.
- "Keyword testing" : démonstration avec robot framework.
- Choix des outils. Outils Open source ou payants ?