AT2010 Dojo TDD

Preview:

Citation preview

Coding Dojo - Randori sur le TDD

Anthony HurotOctobre 2010

www.agiletour.com27/10/10

Planning

Si je veux apprendre le Judo, je vais m'inscrire au dojo du coin et y passer une heure par semaine pendant deux ans, au bout de quoi j'aurai peut-être envie de pratiquer plus assidument. Si je veux apprendre la programmation objet, mon employeur va me trouver une formation de trois jours à Java dans le catalogue 2004. Cherchez l'erreur.

Laurent Bossavitz

www.agiletour.com27/10/10

A faire En cours FiniPrésentation dojo 2’30

Présentation TD 2’30

Codage

25’

Rétrospective

5’

Planning

www.agiletour.com27/10/10

A faire En cours FiniPrésentation dojo 2’30

Présentation TD 2’30

Codage

25’

Rétrospective

5’

www.agiletour.com27/10/10

Si je veux apprendre le Judo, je vais m'inscrire au dojo du coin et y passer une heure par semaine pendant deux ans, au bout de quoi j'aurai peut-être envie de pratiquer plus assidument. Si je veux apprendre la programmation objet, mon employeur va me trouver une formation de trois jours à Java dans le catalogue 2004. Cherchez l'erreur.

Laurent Bossavitz

Dojo

www.agiletour.com27/10/10

Un espace d’apprentissage sûr et convivialeUn travail collaboratifChacun doit pouvoir s’améliorer à son rythmeUn objectif d’apprentissage et esprit non compétitift

Dojo

www.agiletour.com27/10/10

Kata ( 型 ou 形 littéralement: “figure") mot japonais décrivant un modèle de mouvements chorégraphiés et détaillés réalisé par une ou plusieurs personne.

L’objectif n’est pas de trouver la meilleur solution mais de comprendre la solution proposée

Kata

www.agiletour.com27/10/10

Présentation d’une solutionTout le monde doit pouvoir la reproduire à la fin de la présentationInterruption autorisée pour questionner sur la solution

Kata

www.agiletour.com27/10/10

randori ( 乱取り ou 乱捕り ) est une technique que l'on retrouve dans divers arts martiaux, elle consiste en l'attaque d'une personne par plusieurs partenaires.

L'objectif est d'implémenter une solution de façon collaborative

Randori

www.agiletour.com27/10/10

Le principe de base est que tout le monde effectue les rôles de pilote et co-pilote pendant la session.Interruption uniquement lorsque les tests sont valides, silence quand ils sont en échec

Randori

www.agiletour.com27/10/10

A faire En cours FiniPrésentation dojo 2’30

Présentation TD 2’30

Codage

25’

Rétrospective

5’

www.agiletour.com27/10/10

Test Driven Development

www.agiletour.com27/10/10

Méthode toute simple à comprendre : Avant d'écrire un bout de code, on commence par écrire les tests qui vont vérifier la conformité du code.

On ne teste pas pour valider le bon fonctionnement, on pilote le développement par les tests.

Test Driven Development

www.agiletour.com27/10/10

1. Ecrire un test montrant un manque

2. Corriger le code pour faire passer le test

3. Refactoring

4. Verifier que les tests passent toujours

Test Driven Development

www.agiletour.com27/10/10

A faire En cours FiniPrésentation dojo 2’30

Présentation TD 2’30

Codage

25’

Rétrospective

5’

www.agiletour.com27/10/10

La génése d’une aventure épiqueLe commencement, la définition de l’avatar

Let’s go !

www.agiletour.com27/10/10

Java : un langage de programmation orienté objet pour le développement de logiciel

Junit : un framework de test unitaire pour java

Play Framework : Play se focalise sur la productivité des développeurs

Let’s go !

www.agiletour.com27/10/10

A faire En cours FiniPrésentation dojo 2’30

Présentation TD 2’30

Codage

25’

Rétrospective

5’

www.agiletour.com27/10/10

Intérêts:• Apprendre TDD hors contexte• Code couvert par les tests• Apprendre le refactoring• Partager les pratiques de développement• Ludique• Bon moyen de découvrir de nouvelles technologies

Dojo TDD

www.agiletour.com27/10/10

Dojo TDD

Quelques liens:• http://www.agiledata.org/essays/tdd.html• http://codingdojo.org/

• http://www.aubryconseil.com/

www.agiletour.com27/10/10

A faire En cours FiniPrésentation dojo 2’30

Présentation TD 2’30

Codage

25’

Rétrospective

5’