Formation TDD, tests unitaires, tests d'intégration et tests fonctionnels (e2e)

Les tests logiciels et le TDD sont très importants mais ils sont souvent négligés. À travers cette formation, apprenez à faire des tests JavaScript, Java, PHP ou encore Python


Description de la formation

À l'issue de cette formation, le stagiaire sera capable de faire des tests unitaires, d'intégration ou encore fonctionnels. Selon le langage, il apprendra des outils comme PHPUnit, JUnit, Jest, Testcafe ou encore selenium.

Il connaîtra les concepts liés à la culture du test et au TDD (Test Driven Development).

Que ce soit en JavaScript, Java, PHP ou en Python, apprendre à faire des tests fait partie de la vie d'un développeur.euse.


Objectifs pédagogiques

- Comprendre la culture du test - Comprendre la philosophie du TDD - Appréhender le software craftsmanship - Apprendre à faire des tests unitaires - Apprendre à faire des tests d'intégration - Apprendre à faire des tests fonctionnels (e2e) automatisés

Public visé

- Développeurs informatiques - Architectes techniques - Administrateurs systèmes - DevOps

Prérequis de la formation

- Connaissances de base d’un système Unix - Connaissances dans un langage de développement moderne (Python, Java, PHP ou JavaScript)

Programme de la formation (personnalisable)

Tests Logiciels - Jour 1

  1. Quelques bugs catastrophiques

    1. La Toyota Lexus ES350 en 2009

    2. Panne d’électricité côte ouest des USA en 2003

    3. L’avion de combat F35 en 2016

  2. Généralités et notions préalables

    1. Use case / Test case

    2. Génie logiciel et industrialisation

    3. Unités, intégration et recette : Le pont de l’île de Ré

    4. Freins et difficultés

    5. À la main : le minimum vital

    6. Tests et QA

  3. Tests unitaires

    1. La notion de couverture

    2. Matérialisation du test

    3. Pratique : un exemple simple en ES

    4. Pratique : unit tests sur un crawler en Java

    5. Ressources externes : Mocks et Stubs

  4. Tests d’intégration

    1. Principe des tests End-To-End (E2E)

    2. Pratique : Imaginer un protocole de test d’une SPA

    3. Pratique : implémenter ce protocole avec Testcafe

 

Tests Logiciels - Jour 2

  1. Bénéfices pour le projet

    1. Augmentation du niveau de détail des specs

    2. Non régression

    3. Itération agile, Livraison continue

    4. Prises en compte des bugs tardifs

    5. Coût des tests / coût de leur négligence

  2. Développement par les tests (TDD)

    1. De la spec aux tests

    2. Aller à l’essentiel

    3. Livraison en continu sécurisée

    4. Pratique: codage d’une user-story en TDD

  3. La recette

    1. Les axes de recette

    2. Recettes d’usine, utilisateur, fonctionnelle et technique

    3. Les acteurs de la recette

    4. Automatisation de la recette

  4. Travaux pratiques libres guidés

 

Sur plusieurs projets types backend et frontend, avec un choix de diverses technologies en fonction des connaissances des participants.

 

Tests logiciels - Jour 3 optionnel

Au cours de cette troisième journée optionnelle, les participants vont pouvoir, sous la supervision du formateur, appliquer les enseignements des deux journées précédentes à leurs propres bases de code, et obtenir ainsi des pistes effectives d’améliorations de la qualité des  produits pour lesquels ils travaillent au quotidien.