IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Méthodes Agiles Discussion :

3T en pratique, application au calcul de la suite de Fibonnaci, en 5 minutes


Sujet :

Méthodes Agiles

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 078
    Par défaut 3T en pratique, application au calcul de la suite de Fibonnaci, en 5 minutes
    Bonjour,

    Je vous propose un nouvel article dans les séries "en 5 minutes" et "3T ou les Tests en Trois Temps", intitulé "3T en pratique, application au calcul de la suite de Fibonnaci, en 5 minutes".

    Vous trouverez cet article à l'adresse suivante :
    http://thierry-leriche-dessirier.dev...acci-3t-5-min/

    Ce petit tutoriel montre comment mettre en œuvre 3T (Tests en Trois Temps), pour développer une fonctionnalité simple (la suite de Fibonnaci dans l'exemple) en s'aidant des tests, le tout en quelques minutes.

    A noter que vous retrouverez mes autres articles de ces séries à l'adresse suivante
    http://thierry-leriche-dessirier.dev...#page_articles

    Bonne lecture.
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  2. #2
    Membre chevronné Avatar de Mandraxx
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Par défaut
    Bonjour,

    Très intéressant comme approche : simple et efficace.

    Merci beaucoup.
    @+

  3. #3
    Rédacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 078
    Par défaut
    Merci. Je vais rougir.

    Vous pouvez également consulter les autres articles sur 3T ainsi que. Eux de la série "en 5 minutes".
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  4. #4
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut
    Tres bon article, bonne idée ce cahier des charges et l'organisation des tests autour de celui-ci.

    Connaitriez-vous de bons tutoriels sur les différents scénarios de test? Par exemple pour la suite de Fibonacci, l'oubli d'une regle dans le cahier des charges pourrait générer une erreur pour 1 ou plusieurs valeurs. Je ne sais pas si vous voyez ce que je echerche, mais en gros ce sont les diagrammes qui permettent d'organiser l'ordre des tests et les différentes valeurs a tester pour optimiser au mieux le processus.

    Citation Envoyé par thierryler Voir le message
    Vous pouvez également consulter les autres articles sur 3T ainsi que. Eux de la série "en 5 minutes".
    Ou cela?

  5. #5
    Rédacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 078
    Par défaut
    Bonjour,

    En fait, je ne comprend pas très bien la question.

    Mes autres articles sont disponibles ici :
    http://thierry-leriche-dessirier.dev...#page_articles
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  6. #6
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bonjour,

    Je n'ai pas encore lu ton article sur les 3T, je ne parle donc qu'en connaissance de ce qu'est le TDD. Et je dois dire que ce qui est écrit ici n'en est hélas pas (ou alors de loin).

    Pour rappel, l'idée du TDD est la suivante (dans ses grandes lignes) :


    1. J'écris un test, qui naturellement va échouer (parce que la méthode n'existe pas, ou qu'elle n'est pas encore capable de traiter le test que je viens d'écrire).
    2. J'écris le code qui va me permettre de faire marcher mon test.
    3. Je vérifie que mon test passe désormais au vert.
    4. Je refactore mon code pour le rendre plus clair, plus efficace (avec, comme filet de sécurité, l'ensemble des tests déjà écrits).
    5. On recommence à l'étape 1, avec un nouveau cas de test.


    A la fin de chaque "itération" TDD, le code doit fonctionner, et tous les tests - y compris ceux qui ne sont pas directement liés à ma fonctionnalité courante - doivent être au vert.

    Dans ton article, il y a plusieurs "infractions" au TDD :

    • On commence par écrire tous les tests avant de toucher à la fonctionnalité.
    • On ne dispose d'un code qui compile qu'à la fin du développment de la fonctionnalité, ce qui va empêcher le développeur de réaliser des commits atomiques (c'est-à-dire qu'il ne commitera qu'une seule fois, à la toute fin).
    • Quid du refactoring du code ? D'après ce que je lis ici (mais peut-être l'exemple est-il trop simple ?), on ne fait qu'ajouter du code à notre calculatrice Fibonacci, sans avoir à refactorer ce que l'on a fait dans les étapes précédentes.


    Un point également sur la façon d'écrire les tests unitaires.
    Pour moi, un test ne devrait pas (ou alors peu) être commenté, car il doit être "auto-explicatif", en particulier parce que lorsqu'un test échoue, on va souvent le savoir par mail ou via l'outil d'intégration continue (je parle en dehors du moment où je suis en train d'écrire ce test, dans mon cycle TDD).
    Or, si Jenkins m'avertit que le test "testFibonacci_RG024_3_a" échoue, ça ne va pas m'être d'une grande utilité, car je ne sais pas exactement à quoi correspond ce test. Surtout si ce n'est pas moi qui ait écrit ce test.
    S'il avait été nommé par exemple "fibonacci_of_3_should_be_2", alors c'est beaucoup plus clair.
    De même, au lieu d'avoir "testFibonacci_RG024_4_a", je préfèrerais avoir un "fibonacci_cant_calculate_negative_value"...

    Je passerais finalement sur l'aspect "Documentation Driven Development" où l'ajout massif de commentaires (aussi bien dans le code que dans les tests) est, de mon point de vue, plus un handicap qu'un avantage, rendant le code moins lisible, et nécessitant une maintenance assez lourde...

    Voyons les choses positivement : tu cherches à sensibiliser les gens sur l'importance des tests (unitaires), et l'intérêt que l'on a de les écrire avant le code. Et ça s'est bien. Mais tant qu'à faire, autant respecter les principes du TDD...


    ps: le graphique en III-C n'apporte pas grand chose, surtout que l'on ne voit que 2 courbes, alors que l'on s'attend à 4 d'après la légende.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

Discussions similaires

  1. [AVIS & BONNE PRATIQUE] application client / serveur
    Par richard_sraing dans le forum Interfaces Graphiques en Java
    Réponses: 20
    Dernier message: 15/05/2013, 17h45
  2. Réponses: 1
    Dernier message: 29/02/2012, 23h35
  3. Faisabilité d'une application de calcul de distance
    Par nazertyuiop dans le forum Android
    Réponses: 0
    Dernier message: 29/10/2011, 03h54
  4. [Débutant] Fonction pour calcul d'une suite récurrente
    Par moimoi89 dans le forum MATLAB
    Réponses: 2
    Dernier message: 31/10/2007, 18h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo