28 Mai, 9h00

Tests unitaires automatisés et TDD

Description du cours

Ce cours a pour objectif de familiariser les participants avec les différents tests et à la pratique du développement piloté par les tests (TDD) afin de leur permettre d'en réaliser les bénéfices dans leurs projets et pratique quotidienne. À travers des démonstrations et des exercices concrets, les participants mettront en pratique diverses techniques de tests unitaires afin de leur permettre d'acquérir les réflexes nécessaires et ainsi augmenter leur productivité.

Au delà du TDD, la formation s'adresse également aux personnes et entreprises désirant améliorer ou revoir leurs approches de tests unitaires. Pourquoi mes essais unitaires sont-ils difficiles à maintenir? Quels sont les différents types de tests? Comment améliorer mes pratiques de tests?

Objectifs

Cette formation vise à réaliser des tests logiciels et adopter la pratique du développement piloté par les tests (TDD).

À la fin de la formation, le participant sera en mesure de :

  • Appliquer les techniques afin d'écrire de bons tests automatisés (unitaire, acceptation, etc.);
  • Connaître et mettre en pratique les règles de l'art et bonnes pratiques reliées au cycle rapide : tester, développer et réusiner (refactoring);
  • Écrire des tests unitaires à l'aide d'objets factices (mocks);
  • Différencier les différents types de tests logiciels;
  • Comprendre les implications du TDD sur le design et l'architecture d'un logiciel;
  • Critiquer et analyser l'intégration des techniques dans son équipe de développement;
  • Explorer des techniques avancées de tests.

Contenu

Taxonomie des tests (survol des types de tests)

  • Lesquels? Pour qui? Pour quoi? Quand?
  • Complémentarité des types de tests.

Tests unitaires

  • Bonnes pratiques, motivations, automatisation, mythes

Bonnes et mauvaises pratiques de tests

Développement piloté par les tests (TDD)

  • Cycle du TDD;
  • Règles de l'art;
  • Trucs et astuces;
  • Avantages et inconvénients;
  • Mythes et objections.

Objets factices (mocks)

  • Motivations et quand utiliser des mocks;
  • Fonctionnement;
  • Techniques d'injection;
  • Trucs et astuces.

Mauvaises odeurs émanant des tests (symptômes à remarquer)

Conception (design) testable (selon le groupe)

Contenu contextualisé

Dans la majorité des séances, les participants exposent et discutent de leurs pratiques actuelles. Le formateur les aide à explorer des pistes de solutions afin d'améliorer leurs pratiques de tests.

Généralement, les sujets suivants sont abordés dans ces discussions: architecture et design, orientation objet, testabilité de la persistance et du UI, etc.

Méthodologie

Présentations interactives et échanges (45%), démonstrations et exercices pratiques (55%).

Public visé

Architecte, développeur ou toute autre personne ayant à développer des logiciels.

Préalables

Être familier avec un langage orienté objet. Les exercice