Slide 1

Slide 1 text

FÉLIX-ANTOINE BOURBONNAIS B.ING., M.SC., PSM Version 2016-08 Introduction aux tests automatisés et au TDD

Slide 2

Slide 2 text

Source: Robert C. Martin Selon vous, c’est quoi ?

Slide 3

Slide 3 text

4 Félix-Antoine Bourbonnais B.ing., PSM, M.Sc.

Slide 4

Slide 4 text

5 5 Je suis… / Formateur / Conférencier / Coach technique / Coach Agile Expert en… / Tests automatisés / Pratiques de développement / Architecture évolutive / Spécification par l’exemple et BDD / Agilité et Scrum Félix-Antoine Bourbonnais

Slide 5

Slide 5 text

6 Formations Accompagnement Diagnostics Conférences Félix-Antoine Bourbonnais [email protected]

Slide 6

Slide 6 text

Bienvenue! Image de Eyesplash http://commons.wikimedia.org/wiki/File:Welkom_willkommen_Welcome_Bienvenue_Benvenuto.jpg

Slide 7

Slide 7 text

Pourquoi êtes-vous ici ? 8

Slide 8

Slide 8 text

Stimuler la discussion et comprendre l’impact de l’automatisation de tests. Profitez-en et posez des questions ! Objectif 9

Slide 9

Slide 9 text

Qui aime ça faire des tests manuels? 10

Slide 10

Slide 10 text

11

Slide 11

Slide 11 text

Image de Robert. C. Martin Utilisée avec permission de l’auteur / Use with the permission of the author. Quel est le problème?

Slide 12

Slide 12 text

La réalité…

Slide 13

Slide 13 text

Plus un problème est découvert tard, plus il coûte cher… La boucle de rétroaction… 14

Slide 14

Slide 14 text

Quelques statistiques 15

Slide 15

Slide 15 text

Selon Google… http://bit.ly/cXU02R 16

Slide 16

Slide 16 text

Faire des tests le plus tôt possible Moralité… 17

Slide 17

Slide 17 text

18

Slide 18

Slide 18 text

Mission: Innover 6 000 développeurs >1 500 projets >20 changements/minute 50% du code change tous les mois Chiffres de 2010 Dans l’industrie: Google 19

Slide 19

Slide 19 text

« If it can be automated and the problem doesn’t require human cleverness and intuition, then it should be automated » -- How Google Tests Software, James A. Whittaker Automatisé ? 20

Slide 20

Slide 20 text

21 On parlait déjà de déploiement continu http://thoughtworks.fileburst.com/assets/technology-radar-april-2010.pdf Technology Radar ThoughtWorks Avril 2010 Les tests automatisés et le TDD sont sortis du radar depuis longtemps! Même année que Subversion !?!! Hem……… sérieux ???

Slide 21

Slide 21 text

« Practices like TDD and BDD are widespread and applied almost unquestionably. It has been a while since I’ve seen teams that do not have considerable tests at the lower levels (unit, integration, component). » -- Fabio Pereira, ThoughtWorks, USA https://www.thoughtworks.com/insights/blog/introducing-software-testing-cupcake-anti-pattern?utm_campaign=software- testing&utm_medium=social&utm_source=twitter

Slide 22

Slide 22 text

23

Slide 23

Slide 23 text

24 Pourcentages selon Google. La pyramide ! Bout en bout Service Unitaire % du portfolio de tests Large (L) Moyen (M) Petit (S) ~10% ~20% ~70%

Slide 24

Slide 24 text

Ce que l’on a généralement… Image de stevendepolo sur Flickr 25 Tests de haut niveau lourds, exhaustifs et utilisant la BD Tests unitaires…

Slide 25

Slide 25 text

Fragilité ! Image par Gamma-Ray Productions sur Flickr Ce qui vous attend au détour! Danger! On ne rigole pas…

Slide 26

Slide 26 text

Types versus niveaux 27 Niveaux Types Classement par la portée Exemples: Petit / Moyen / Large Classement par l’objectif du test Exemples: Unitaire / Bordure / Fonctionnalité / …

Slide 27

Slide 27 text

Un test est une sonde! Placez-la judicieusement…

Slide 28

Slide 28 text

Exemples Tests de Story Tests A/B Expérience utilisateur Simulations Tests exploratoires Tests de flots de travail Tests d'utilisabilité UAT (par l'utilisateur) Tests unitaires (type) Tests développeurs Tests de composantes Tests de performance Tests de charge et capacité Tests de sécurité Attributs de qualité (...ilities) Types de tests Tiré du livre More Agile Testing Les types de tests… Orienté AFFAIRES Orienté TECHNOLOGIE Guide le DÉVELOPPEMENT Critique le PRODUIT

Slide 29

Slide 29 text

30

Slide 30

Slide 30 text

Selon vous, qu’est-ce qu’un test unitaire ? 31

Slide 31

Slide 31 text

32 Unité 32

Slide 32

Slide 32 text

Un test unitaire est isolé, isolé et encore isolé Théoriquement une seule classe ! Test unitaire 33

Slide 33

Slide 33 text

Les tests unitaires constituent le niveau le plus bas et le plus isolé pour réaliser un test Niveaux de test… 34 Large Moyen Petit Vous êtes ICI

Slide 34

Slide 34 text

35

Slide 35

Slide 35 text

36 Cycle du TDD 36 Écrire un test qui échoue Faire passer le test Réusiner 1 2 1

Slide 36

Slide 36 text

37 Petite démonstration

Slide 37

Slide 37 text

38 Le TDD n’est pas un type ou un niveau de test!

Slide 38

Slide 38 text

Le TDD est… une discipline !

Slide 39

Slide 39 text

« TDD is not about validating systems. It is about writing better software. » -- Tim Ottinger Ce n’est pas une technique de validation…

Slide 40

Slide 40 text

« Testing as a development tool » -- Startup Lab workshop: Test-Driven Design https://www.youtube.com/watch?v=AyvYRWWmYSI Le TDD c’est bien plus qu’une technique de test! 41

Slide 41

Slide 41 text

42 Le TDD fait pression sur le design…

Slide 42

Slide 42 text

C’est amusant!! Pourquoi est-ce que je fais du TDD? 43

Slide 43

Slide 43 text

Qualité Le code fonctionne Limiter les régressions Design Pouvoir réusiner Avoir de la documentation (synchronisée) Avoir une meilleure architecture Affaires Avoir une rétroaction rapide Répondre aux besoins Tiré de Startup Lab workshop: Test-Driven Design https://www.youtube.com/watch?v=AyvYRWWmYSI Pourquoi l’entreprise veut-elle faire du TDD? 44

Slide 44

Slide 44 text

45

Slide 45

Slide 45 text

Le défi moderne… La maintenabilité ! 46

Slide 46

Slide 46 text

La pourriture du code n’est pas une « loi naturelle »… 47 ?

Slide 47

Slide 47 text

48 Tanné de stresser pour une livraison, de débogger, d’avoir peur de briser?

Slide 48

Slide 48 text

49 49 S.v.p. donnez-moi un nouveau projet !@/$%!/%

Slide 49

Slide 49 text

Maintenant vous pouvez rénover !

Slide 50

Slide 50 text

51 Merci !

Slide 51

Slide 51 text

52 Merci Notre site elapsetech.com Notre blogue developpementagile.com Nos Twitter @fbourbonnais | @elapsetech Mon courriel [email protected] Mon LinkedIn linkedin.com/in/fbourbonnais/fr conferences.elapsetech.com Diapositives Nos présentations, chez vous!