Objectifs

– Introduction au test du code COBOL en utilisant la technique
TDD.
– Développement et maintenance des applications COBOL.
– Meilleures pratiques en matière de TDD

Programme

– Origine du TDD. L’Agilité et les tests.
– Les limitations du débogueur.
– Le besoin de tester : les types de tests.
– La bibliothèque NUnit. Les 3A.
– Gestion des exceptions.
– Refactoring.
– Conception émergente.
– Test Driven Design.
– Gestion des scénarios.
Travaux pratiques
Conception et intégration de tests dans le cycle de développement d’un
projet.

– Vue d’ensemble, principe et structure du test unitaire
– Différences entre tests unitaires et tests d’intégration
– La famille xUnit : JUnit, PHPUnit, PyUnit…
– Les rôles des développeurs et testeurs dans le test unitaire
– Exécuter des tests automatisés
– Niveaux de tests
Travaux pratiques
Configuration de l’environnement de développement (IDE) et d’un projet,
exécution de tests unitaires, manipulation d’attributs de test.

– Le schéma conditionnel simple
– Le schéma conditionnel multiple
Travaux pratiques
Résolution de problèmes simples

– Qualités d’un code de test.
– Tests basés sur la responsabilité et l’implémentation.
– Styles de TDD.
Travaux pratiques
Amélioration de la qualité des tests écrits

– La dette technique et ses conséquences.
– Les principales méthodes et le cycle du refactoring.
Travaux pratiques
Détection de « bad smells », mise en application de différentes
techniques de refactoring liées au TDD

– L’intérêt de tester avant vs tester après
– Par où commencer ? Revue des étapes de base
– Le rythme du TDD : rouge, vert, refactor
– Principes de conception
– Patterns TDD
– Anti-patterns (« Succès inattendu d’un test », « Ecrire des
tests trop grands »,…)
– Principes SOLID dans un projet TDD
– Les différents styles de TDD
Travaux pratiques
Simulation d’un projet conduit en mode TDD.

Référence :  DEV008

Type de Stage : Pratique

Durée : 3 jours

Public concerné:

Développeurs COBOL.

Prérequis:

La connaissance et l’expérience du
COBOL sont essentielles.
Aucune expérience ou formation
en matière de tests de logiciels
n’est requise.