Aller au contenu

Tester son code

Pyramide des tests, TDD, BDD, ATDD et property-based testing — les méthodes de test dans l'ordre du cycle de vie.


graph LR
    A["Pyramide"] --> B["TDD"]
    B --> C["BDD"]
    C --> D["ATDD"]
    D --> E["Property-Based"]
    E --> F["Integration & E2E"]
    F --> G["Couverture & Mutation"]

Ce que vous allez apprendre

À la fin de ce tutoriel, vous serez capable de :

  • Comprendre la pyramide des tests et ses anti-patterns
  • Pratiquer le cycle TDD Red/Green/Refactor et l'utiliser comme outil de conception
  • Écrire des spécifications executables en BDD avec le langage Gherkin
  • Définir des tests d'acceptation avant le développement (ATDD)
  • Appliquer le property-based testing pour découvrir des bugs que les tests par exemples manquent
  • Mettre en place des tests d'intégration et E2E fiables
  • Mesurer la qualité des tests avec la couverture et le mutation testing

Prérequis

Prérequis Détail
Un langage maîtrise Python, JavaScript, Java ou Go (les exemples couvrent plusieurs langages)
Tests unitaires Savoir écrire un test basique avec un framework de test
Git Branches et commits (voir Versionner)

Parcours

Section Contenu
Pyramide des tests Niveaux de test, coût vs confiance, anti-patterns
TDD Red/Green/Refactor, baby steps, design emergent
BDD Spécifications executables, Gherkin, living documentation
ATDD Tests d'acceptation, collaboration PO/dev/QA
Property-Based Testing Propriétés vs exemples, génération, shrinking
Integration et E2E Contrats, API testing, tests UI, environnements éphémères
Couverture et mutation Métriques, limites de la couverture, mutation testing