Tests & Validation

Slides de cours

Séance 1

La qualité logicielle

Définitions, axes CISQ, métriques de maintenabilité — couplage, complexité cyclomatique, cohésion et code smells.

Séance 2

Tests unitaires avec xUnit

Boîte blanche/noire, pattern AAA, assertions, Traits, ITestOutputHelper, InlineData et ClassData.

Séance 3

Quand et comment écrire ses tests ?

Test After, Test First, TDD — le cycle Rouge/Vert/Refactor et les principes FIRST.

Séance 4

Les types de tests utiles au développeur

Tests e2e, d'intégration et unitaires — la pyramide des tests et les deux écoles de TU.

Séance 5

Mutation testing

Les limites du coverage, le principe du mutation testing, Stryker.NET, et comment qualifier les tests générés par l'IA.

Séance 6

Tests E2E avec Playwright

Les 5 anti-patterns classiques des tests E2E et comment les éviter : sélecteurs fragiles, attentes codées, tests couplés, Page Object Model.

Travaux pratiques

TP1 Mise en place de l'environnement
TP2 Les bases des tests unitaires
TP3 Doublures de test et isolation
TP4 Tests d'intégration
TP5 Mutation testing