SlideShare une entreprise Scribd logo
1  sur  13
TDD et
Coding Kata
Tarik Zakaria Benmerar
Acigna Inc.
La dette technique
• Le bug n’est pas fixé sur le
moment.
• Paiement de la dette (bug) dans
le temps.
• Paiement avec intérêt.
Types de tests
• Test unitaire.
• Test d’intégration.
• Test fonctionnel.
Automatisation des tests
• Les tests doivent être programmés.
• Les nouveaux et les anciens tests
sont exécutés à chaque fois.
• Détection des régressions.
• Avoir un code qui s’auto-test.
TDD
(Développement dirigée pour le test)
TDD:
• Le test avant le code.
• Un seul test à la fois ( Rouge ).
• Code pour un seul test ( Vert ).
• Refactorisation du code en dernière
étape.
• Refaire ce cycle ( Rouge, Vert et
Refactorisation ).
Les transformations:
• null vers constante.
• constante vers constante+.
• constante vers scalar.
• Instruction vers plusieurs instructions.
• sans condition vers if.
• If vers while.
A chaque fois que les tests deviennent spécifiques, le code
se généralise.
Que faut-il tester ?
• L’état : Vérifier la valeur des variables.
• Le comportement : Vérifier l’interaction
avec les collaborateurs.
Coding Kata
Kata:
• Forme
• Mouvement
• Pratique
• délibérée
Coding kata:
• 20 minutes.
• code supprimé à la fin.
• TDD.
• Refactor.
Time For Code
codewars.com

Contenu connexe

En vedette

Laureats
LaureatsLaureats
LaureatsLena
 
Web 2.0 par nouvelle MARQUE
Web 2.0 par nouvelle MARQUEWeb 2.0 par nouvelle MARQUE
Web 2.0 par nouvelle MARQUEnouvelle MARQUE
 
Temple
TempleTemple
TempleNick C
 
La Educacion Y El Significado De La Vida
La Educacion Y El Significado De La VidaLa Educacion Y El Significado De La Vida
La Educacion Y El Significado De La VidaEuler
 
D recommendations on poliomyelitis eradication oms 2008 wer8303
D recommendations on poliomyelitis eradication oms 2008 wer8303D recommendations on poliomyelitis eradication oms 2008 wer8303
D recommendations on poliomyelitis eradication oms 2008 wer8303Ruth Vargas Gonzales
 
Le passé composé, quel auxiliaire
Le passé composé, quel auxiliaire  Le passé composé, quel auxiliaire
Le passé composé, quel auxiliaire OrellAima
 
Monet shakespeare-fr
Monet shakespeare-frMonet shakespeare-fr
Monet shakespeare-frlyago
 
Mi Centro Actv4
Mi Centro Actv4Mi Centro Actv4
Mi Centro Actv4germanifa
 
Nomenclature baert debusschere
Nomenclature baert debusschereNomenclature baert debusschere
Nomenclature baert debusschereFabrice Carlier
 
CaracteríSticas
CaracteríSticasCaracteríSticas
CaracteríSticasmirima
 
Tuquito gnu linux | untref
Tuquito gnu linux | untrefTuquito gnu linux | untref
Tuquito gnu linux | untrefAlvar Maciel
 
2007 Jcmar Cruel
2007 Jcmar Cruel2007 Jcmar Cruel
2007 Jcmar Cruelcalorycafe
 
Antón Patiño Visita Virtual Exposición 2007
Antón Patiño Visita Virtual Exposición 2007Antón Patiño Visita Virtual Exposición 2007
Antón Patiño Visita Virtual Exposición 2007bretemas
 

En vedette (20)

Hijos
HijosHijos
Hijos
 
Laureats
LaureatsLaureats
Laureats
 
Web 2.0 par nouvelle MARQUE
Web 2.0 par nouvelle MARQUEWeb 2.0 par nouvelle MARQUE
Web 2.0 par nouvelle MARQUE
 
Aproximación a la web 2.0
Aproximación a la web 2.0Aproximación a la web 2.0
Aproximación a la web 2.0
 
Certificates
CertificatesCertificates
Certificates
 
Deforestacion
DeforestacionDeforestacion
Deforestacion
 
Temple
TempleTemple
Temple
 
La Educacion Y El Significado De La Vida
La Educacion Y El Significado De La VidaLa Educacion Y El Significado De La Vida
La Educacion Y El Significado De La Vida
 
D recommendations on poliomyelitis eradication oms 2008 wer8303
D recommendations on poliomyelitis eradication oms 2008 wer8303D recommendations on poliomyelitis eradication oms 2008 wer8303
D recommendations on poliomyelitis eradication oms 2008 wer8303
 
Le passé composé, quel auxiliaire
Le passé composé, quel auxiliaire  Le passé composé, quel auxiliaire
Le passé composé, quel auxiliaire
 
Monet shakespeare-fr
Monet shakespeare-frMonet shakespeare-fr
Monet shakespeare-fr
 
Le Facteur
Le FacteurLe Facteur
Le Facteur
 
SFK 2007 Alain Leroy
SFK 2007 Alain LeroySFK 2007 Alain Leroy
SFK 2007 Alain Leroy
 
Mi Centro Actv4
Mi Centro Actv4Mi Centro Actv4
Mi Centro Actv4
 
Nomenclature baert debusschere
Nomenclature baert debusschereNomenclature baert debusschere
Nomenclature baert debusschere
 
CaracteríSticas
CaracteríSticasCaracteríSticas
CaracteríSticas
 
Tuquito gnu linux | untref
Tuquito gnu linux | untrefTuquito gnu linux | untref
Tuquito gnu linux | untref
 
Bouquet Roses
Bouquet RosesBouquet Roses
Bouquet Roses
 
2007 Jcmar Cruel
2007 Jcmar Cruel2007 Jcmar Cruel
2007 Jcmar Cruel
 
Antón Patiño Visita Virtual Exposición 2007
Antón Patiño Visita Virtual Exposición 2007Antón Patiño Visita Virtual Exposición 2007
Antón Patiño Visita Virtual Exposición 2007
 

Similaire à TDD et Coding Kata - Micro Days - Modern Software Development

[Agile Testing Day] Test Driven Development (TDD)
[Agile Testing Day] Test Driven Development (TDD)[Agile Testing Day] Test Driven Development (TDD)
[Agile Testing Day] Test Driven Development (TDD)Cellenza
 
Une architecture agile et testable
Une architecture agile et testableUne architecture agile et testable
Une architecture agile et testablemartinsson
 
Le rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testingLe rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testingGeeks Anonymes
 
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...Cyrille Grandval
 
20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_allCARA_Lyon
 
Test Driven Development (aka TDD) for agile teams
Test Driven Development (aka TDD) for agile teamsTest Driven Development (aka TDD) for agile teams
Test Driven Development (aka TDD) for agile teamsThierry Gayet
 
Pratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgilePratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgileAgile Tour 2009 Québec
 
Strategie de test à agile tour bordeaux
Strategie de test à agile tour bordeauxStrategie de test à agile tour bordeaux
Strategie de test à agile tour bordeauxNicolas Fédou
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAssociation Agile Nantes
 
AFUP Day 2020 Nantes - Mutation Testing
AFUP Day 2020 Nantes - Mutation TestingAFUP Day 2020 Nantes - Mutation Testing
AFUP Day 2020 Nantes - Mutation TestingJulien Braure
 
La qualité au meilleur prix grâce aux tests unitaires
La qualité au meilleur prix grâce aux tests unitairesLa qualité au meilleur prix grâce aux tests unitaires
La qualité au meilleur prix grâce aux tests unitairesGauthier Delamarre
 
Deux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succèsDeux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succèsAgile Tour 2009 Québec
 
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)French Scrum User Group
 
Tester c'est douter - Linkvalue tech
Tester c'est douter - Linkvalue techTester c'est douter - Linkvalue tech
Tester c'est douter - Linkvalue techMarine Karam
 
Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?CGI Québec Formation
 

Similaire à TDD et Coding Kata - Micro Days - Modern Software Development (17)

[Agile Testing Day] Test Driven Development (TDD)
[Agile Testing Day] Test Driven Development (TDD)[Agile Testing Day] Test Driven Development (TDD)
[Agile Testing Day] Test Driven Development (TDD)
 
Une architecture agile et testable
Une architecture agile et testableUne architecture agile et testable
Une architecture agile et testable
 
Le rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testingLe rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testing
 
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
 
20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all20110519 cara tests_agiles_grenoble_all
20110519 cara tests_agiles_grenoble_all
 
Test Driven Development (aka TDD) for agile teams
Test Driven Development (aka TDD) for agile teamsTest Driven Development (aka TDD) for agile teams
Test Driven Development (aka TDD) for agile teams
 
Pratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgilePratiques de développement pour équipes Agile
Pratiques de développement pour équipes Agile
 
Le pilotage par les tests
Le pilotage par les testsLe pilotage par les tests
Le pilotage par les tests
 
Strategie de test à agile tour bordeaux
Strategie de test à agile tour bordeauxStrategie de test à agile tour bordeaux
Strategie de test à agile tour bordeaux
 
Université du soir - TDD
Université du soir - TDDUniversité du soir - TDD
Université du soir - TDD
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
 
AFUP Day 2020 Nantes - Mutation Testing
AFUP Day 2020 Nantes - Mutation TestingAFUP Day 2020 Nantes - Mutation Testing
AFUP Day 2020 Nantes - Mutation Testing
 
La qualité au meilleur prix grâce aux tests unitaires
La qualité au meilleur prix grâce aux tests unitairesLa qualité au meilleur prix grâce aux tests unitaires
La qualité au meilleur prix grâce aux tests unitaires
 
Deux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succèsDeux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succès
 
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
 
Tester c'est douter - Linkvalue tech
Tester c'est douter - Linkvalue techTester c'est douter - Linkvalue tech
Tester c'est douter - Linkvalue tech
 
Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?
 

Plus de Tarik Zakaria Benmerar

Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plusVideostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plusTarik Zakaria Benmerar
 
Chapitre 6 - les instructions de chaînes de caractères
Chapitre 6  - les instructions de chaînes de caractèresChapitre 6  - les instructions de chaînes de caractères
Chapitre 6 - les instructions de chaînes de caractèresTarik Zakaria Benmerar
 
Chapitre 5 - fichiers EXE-COM pour le dos
Chapitre 5 -  fichiers EXE-COM pour le dosChapitre 5 -  fichiers EXE-COM pour le dos
Chapitre 5 - fichiers EXE-COM pour le dosTarik Zakaria Benmerar
 
Chapitre 4 - les instructions de saut et conditions
Chapitre 4  - les instructions de saut et conditionsChapitre 4  - les instructions de saut et conditions
Chapitre 4 - les instructions de saut et conditionsTarik Zakaria Benmerar
 
Chapitre 3 - échanges de données et opérations arithmétiques - binaires
Chapitre 3  - échanges de données et opérations arithmétiques - binairesChapitre 3  - échanges de données et opérations arithmétiques - binaires
Chapitre 3 - échanges de données et opérations arithmétiques - binairesTarik Zakaria Benmerar
 
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...Tarik Zakaria Benmerar
 
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
Chapitre 2.1 -  architecture d'un microprocesseur - bus et communicationChapitre 2.1 -  architecture d'un microprocesseur - bus et communication
Chapitre 2.1 - architecture d'un microprocesseur - bus et communicationTarik Zakaria Benmerar
 
Chapitre 1 - représentation numérique des données
Chapitre 1  - représentation numérique des donnéesChapitre 1  - représentation numérique des données
Chapitre 1 - représentation numérique des donnéesTarik Zakaria Benmerar
 
Chapitre 3 - Protocole Bus CAN (2020/2021
Chapitre 3 - Protocole Bus CAN (2020/2021Chapitre 3 - Protocole Bus CAN (2020/2021
Chapitre 3 - Protocole Bus CAN (2020/2021Tarik Zakaria Benmerar
 
Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)Tarik Zakaria Benmerar
 

Plus de Tarik Zakaria Benmerar (20)

Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plusVideostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
 
Chapitre 8 - les entrées - sorties
Chapitre 8  - les entrées - sortiesChapitre 8  - les entrées - sorties
Chapitre 8 - les entrées - sorties
 
Cyber pink - Time Management
Cyber pink -  Time Management Cyber pink -  Time Management
Cyber pink - Time Management
 
Chapitre 6 - couche transport
Chapitre 6  - couche transportChapitre 6  - couche transport
Chapitre 6 - couche transport
 
Chapitre 5 - couche réseaux
Chapitre 5 - couche réseauxChapitre 5 - couche réseaux
Chapitre 5 - couche réseaux
 
Chapitre 4 - couche liaison
Chapitre 4 - couche liaisonChapitre 4 - couche liaison
Chapitre 4 - couche liaison
 
Chapitre 3 - connecteurs et câbles
Chapitre 3 -   connecteurs et câblesChapitre 3 -   connecteurs et câbles
Chapitre 3 - connecteurs et câbles
 
Chapitre 2 - Transmission
Chapitre 2  - TransmissionChapitre 2  - Transmission
Chapitre 2 - Transmission
 
Chapitre 1 - notions fondamentales
Chapitre 1 -  notions fondamentalesChapitre 1 -  notions fondamentales
Chapitre 1 - notions fondamentales
 
Chapitre 9 - les interruptions
Chapitre 9 -  les interruptionsChapitre 9 -  les interruptions
Chapitre 9 - les interruptions
 
Chapitre 7 - la pile
Chapitre 7 -  la pileChapitre 7 -  la pile
Chapitre 7 - la pile
 
Chapitre 6 - les instructions de chaînes de caractères
Chapitre 6  - les instructions de chaînes de caractèresChapitre 6  - les instructions de chaînes de caractères
Chapitre 6 - les instructions de chaînes de caractères
 
Chapitre 5 - fichiers EXE-COM pour le dos
Chapitre 5 -  fichiers EXE-COM pour le dosChapitre 5 -  fichiers EXE-COM pour le dos
Chapitre 5 - fichiers EXE-COM pour le dos
 
Chapitre 4 - les instructions de saut et conditions
Chapitre 4  - les instructions de saut et conditionsChapitre 4  - les instructions de saut et conditions
Chapitre 4 - les instructions de saut et conditions
 
Chapitre 3 - échanges de données et opérations arithmétiques - binaires
Chapitre 3  - échanges de données et opérations arithmétiques - binairesChapitre 3  - échanges de données et opérations arithmétiques - binaires
Chapitre 3 - échanges de données et opérations arithmétiques - binaires
 
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
 
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
Chapitre 2.1 -  architecture d'un microprocesseur - bus et communicationChapitre 2.1 -  architecture d'un microprocesseur - bus et communication
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
 
Chapitre 1 - représentation numérique des données
Chapitre 1  - représentation numérique des donnéesChapitre 1  - représentation numérique des données
Chapitre 1 - représentation numérique des données
 
Chapitre 3 - Protocole Bus CAN (2020/2021
Chapitre 3 - Protocole Bus CAN (2020/2021Chapitre 3 - Protocole Bus CAN (2020/2021
Chapitre 3 - Protocole Bus CAN (2020/2021
 
Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)
 

TDD et Coding Kata - Micro Days - Modern Software Development