TDD avancé

Description

Cette formation vise à perfectionner les pratiques de tests automatisés et de TDD afin d’améliorer la qualité et la maintenabilité de ceux-ci et, ainsi, être en mesure d’écrire de bons tests même en présence de cas difficiles à tester.

Objectifs

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

  • Maîtriser les techniques avancées de tests automatisés et de TDD
  • Savoir identifier les indices de non-qualité ou de problèmes architecturaux à partir des tests, du TDD et des Mocks (mauvaises odeurs)
  • Appliquer des techniques de conception permettant le pilotage de l’architecture à l’aide du TDD et des tests
  • Comparer l’approche TDD Mockiste et traditionnelle
  • Comprendre les défis et astuces concernant la maintenabilité des tests à long terme dans une équipe et une organisation
  • Comprendre comment réaliser des tests dans différents contextes et technologies d’un logiciel d’entreprise

Public visé

Cette formation est une suite de la formation Développement piloté par les tests (TDD). Le participant doit avoir pratiqué le TDD de façon sérieuse pour être en mesure de bénéficier au maximum de cette formation (nous recommandons une pratique de 6 mois à 1 an avec des tests automatisés).

Contenu

  • TDD Mockiste ("Londres")
  • Discussions sur les Mocks et les doublures
  • Trucs et astuces avancés
    • Styles
    • Patrons (patterns)
    • Nommage
  • Comment tirer le maximum de retour sur investissement (ROI) de vos tests unitaires?
  • Les tests unitaires comme technique de Design
    • "Tests Driven Design"
  • Types et niveaux de tests
    • Pyramide des tests
    • Niveaux des tests
  • Maintenabilité des tests automatisés
    • Fragilité des tests
  • Architecture et tests
    • séparation des couches;
    • délégation et stratégies;
    • impacts des tests sur l'architecture;
    • testabilité.
  • Tests dans diverses situations:
    • tester l'interface utilisateur (MVC/MVP, etc.);
    • tester la base de données et les fichiers;
    • tester les services web (WS);
    • tester le Web (dont JavaScript, AJAX, WebApp);

Présentation liées