FÉLIX-ANTOINE BOURBONNAIS
B.ING., M.SC., PSM
Version 2016-08
Introduction aux tests
automatisés et au TDD
Source: Robert C. Martin
Selon vous,
c’est quoi ?
4
Félix-Antoine Bourbonnais
B.ing., PSM, M.Sc.
5 5
Je suis…
/ Formateur
/ Conférencier
/ Coach technique
/ Coach Agile
Expert en…
/ Tests automatisés
/ Pratiques de déve...
6
Formations Accompagnement Diagnostics Conférences
Félix-Antoine Bourbonnais
fbourbonnais@elapsetech.com
Bienvenue!
Image de Eyesplash
http://commons.wikimedia.org/wiki/File:Welkom_willkommen_Welcome_Bienvenue_Benvenuto.jpg
Pourquoi
êtes-vous ici ?
8
Stimuler la discussion et comprendre l’impact de
l’automatisation de tests.
Profitez-en et posez des questions !
Objectif
9
Qui aime ça faire des
tests manuels?
10
11
Image de Robert. C. Martin
Utilisée avec permission de l’auteur / Use with the permission of the author.
Quel est le
probl...
La réalité…
Plus un problème est
découvert tard,
plus il coûte cher…
La boucle de rétroaction…
14
Quelques statistiques
15
Selon Google…
http://bit.ly/cXU02R 16
Faire des tests
le plus tôt possible
Moralité…
17
18
Mission: Innover
6 000 développeurs
>1 500 projets
>20 changements/minute
50% du code change tous les mois
Chiffres de 201...
« If it can be automated and the
problem doesn’t require human
cleverness and intuition, then it should
be automated »
-- ...
21
On parlait déjà de
déploiement
continu
http://thoughtworks.fileburst.com/assets/technology-radar-april-2010.pdf
Technol...
« Practices like TDD and BDD are widespread and
applied almost unquestionably. It has been a
while since I’ve seen teams t...
23
24Pourcentages selon Google.
La pyramide !
Bout
en bout
Service
Unitaire
% du portfolio
de tests Large
(L)
Moyen
(M)
Petit...
Ce que l’on a généralement…
Image de stevendepolo sur Flickr 25
Tests de haut niveau
lourds, exhaustifs et
utilisant la BD...
Fragilité !
Image par Gamma-Ray Productions sur Flickr
Ce qui vous attend au détour!
Danger!
On ne rigole pas…
Types versus niveaux
27
Niveaux Types
Classement par la portée
Exemples:
Petit / Moyen / Large
Classement par l’objectif d...
Un test est une sonde!
Placez-la judicieusement…
Exemples
Tests de Story
Tests A/B
Expérience utilisateur
Simulations
Tests exploratoires
Tests de flots de travail
Tests d...
30
Selon vous, qu’est-ce qu’un
test unitaire ?
31
32
Unité
32
Un test unitaire est isolé, isolé et encore isolé
Théoriquement une seule classe !
Test unitaire
33
Les tests unitaires
constituent
le niveau le plus bas
et le plus isolé pour
réaliser un test
Niveaux de test…
34
Large
Moy...
35
36
Cycle du TDD
36
Écrire un
test qui
échoue
Faire
passer le
test
Réusiner
1
2
1
37
Petite
démonstration
38
Le TDD n’est pas un type ou
un niveau de test!
Le TDD est…
une discipline !
« TDD is not about validating systems. It
is about writing better software. »
-- Tim Ottinger
Ce n’est pas une technique d...
« Testing as a
development tool »
-- Startup Lab workshop: Test-Driven Design
https://www.youtube.com/watch?v=AyvYRWWmYSI
...
42
Le TDD fait pression
sur le design…
C’est
amusant!!
Pourquoi est-ce que je fais du TDD?
43
Qualité
Le code
fonctionne
Limiter les
régressions
Design
Pouvoir
réusiner
Avoir de la
documentation
(synchronisée)
Avoir ...
45
Le défi moderne…
La maintenabilité !
46
La pourriture du code n’est pas une « loi naturelle »…
47
?
48
Tanné de stresser pour une
livraison, de débogger,
d’avoir peur de briser?
49 49
S.v.p. donnez-moi un
nouveau projet
!@/$%!/%
Maintenant vous pouvez rénover !
51
Merci !
52
Merci Notre site
elapsetech.com
Notre blogue
developpementagile.com
Nos Twitter
@fbourbonnais | @elapsetech
Mon courrie...
Prochain SlideShare
Chargement dans…5
×

Introduction aux tests automatisés et au TDD (v. 2016-08)

11 vues

Publié le

- Introduire le concept de tests automatisés à son équipe (développeurs, PO, gestionnaires, analystes, etc.)
- Générer une discussion concernant l'automatisation des tests
- Pourquoi automatiser?
- Comprendre les pièges associés (mauvaise pratiques) à l'automatisation!
- Qu'est-ce qu'un vrai test unitaire?
- Introduction au TDD et à ses effets

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
11
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
1
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Introduction aux tests automatisés et au TDD (v. 2016-08)

  1. 1. FÉLIX-ANTOINE BOURBONNAIS B.ING., M.SC., PSM Version 2016-08 Introduction aux tests automatisés et au TDD
  2. 2. Source: Robert C. Martin Selon vous, c’est quoi ?
  3. 3. 4 Félix-Antoine Bourbonnais B.ing., PSM, M.Sc.
  4. 4. 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
  5. 5. 6 Formations Accompagnement Diagnostics Conférences Félix-Antoine Bourbonnais fbourbonnais@elapsetech.com
  6. 6. Bienvenue! Image de Eyesplash http://commons.wikimedia.org/wiki/File:Welkom_willkommen_Welcome_Bienvenue_Benvenuto.jpg
  7. 7. Pourquoi êtes-vous ici ? 8
  8. 8. Stimuler la discussion et comprendre l’impact de l’automatisation de tests. Profitez-en et posez des questions ! Objectif 9
  9. 9. Qui aime ça faire des tests manuels? 10
  10. 10. 11
  11. 11. Image de Robert. C. Martin Utilisée avec permission de l’auteur / Use with the permission of the author. Quel est le problème?
  12. 12. La réalité…
  13. 13. Plus un problème est découvert tard, plus il coûte cher… La boucle de rétroaction… 14
  14. 14. Quelques statistiques 15
  15. 15. Selon Google… http://bit.ly/cXU02R 16
  16. 16. Faire des tests le plus tôt possible Moralité… 17
  17. 17. 18
  18. 18. 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
  19. 19. « 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
  20. 20. 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 ???
  21. 21. « 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
  22. 22. 23
  23. 23. 24Pourcentages selon Google. La pyramide ! Bout en bout Service Unitaire % du portfolio de tests Large (L) Moyen (M) Petit (S) ~10% ~20% ~70%
  24. 24. 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…
  25. 25. Fragilité ! Image par Gamma-Ray Productions sur Flickr Ce qui vous attend au détour! Danger! On ne rigole pas…
  26. 26. 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é / …
  27. 27. Un test est une sonde! Placez-la judicieusement…
  28. 28. 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 GuideleDÉVELOPPEMENT CritiquelePRODUIT
  29. 29. 30
  30. 30. Selon vous, qu’est-ce qu’un test unitaire ? 31
  31. 31. 32 Unité 32
  32. 32. Un test unitaire est isolé, isolé et encore isolé Théoriquement une seule classe ! Test unitaire 33
  33. 33. Les tests unitaires constituent le niveau le plus bas et le plus isolé pour réaliser un test Niveaux de test… 34 Large Moyen PetitVous êtes ICI
  34. 34. 35
  35. 35. 36 Cycle du TDD 36 Écrire un test qui échoue Faire passer le test Réusiner 1 2 1
  36. 36. 37 Petite démonstration
  37. 37. 38 Le TDD n’est pas un type ou un niveau de test!
  38. 38. Le TDD est… une discipline !
  39. 39. « TDD is not about validating systems. It is about writing better software. » -- Tim Ottinger Ce n’est pas une technique de validation…
  40. 40. « 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
  41. 41. 42 Le TDD fait pression sur le design…
  42. 42. C’est amusant!! Pourquoi est-ce que je fais du TDD? 43
  43. 43. 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
  44. 44. 45
  45. 45. Le défi moderne… La maintenabilité ! 46
  46. 46. La pourriture du code n’est pas une « loi naturelle »… 47 ?
  47. 47. 48 Tanné de stresser pour une livraison, de débogger, d’avoir peur de briser?
  48. 48. 49 49 S.v.p. donnez-moi un nouveau projet !@/$%!/%
  49. 49. Maintenant vous pouvez rénover !
  50. 50. 51 Merci !
  51. 51. 52 Merci Notre site elapsetech.com Notre blogue developpementagile.com Nos Twitter @fbourbonnais | @elapsetech Mon courriel fbourbonnais@elapsetech.com Mon LinkedIn linkedin.com/in/fbourbonnais/fr conferences.elapsetech.com Diapositives Nos présentations, chez vous!

×