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

ALM Discussion :

Les bonnes habitudes du développement piloté par les tests


Sujet :

ALM

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 307
    Par défaut
    Citation Envoyé par Cyrilange Voir le message
    Grosse perte de temps. Je n'ai jamais et je ne ferais jamais ce genre de chose.
    Tout le contraire pour moi. Gros gain de temps, je code les tests d'abord puis la fonctionnalité buggée à l'arrache pour que ca compile et que ca casse. Ensuite je code la fonction jusqu'à ce que le(s) test(s) passent. Je gagne du temps à trouver les bugs (du temps perdu avec le debuger pour des bugs à la con) et je pense avoir un code moins buggé avec ça (les bugs chez les clients c'est toujours le pire : cout en terme d'image, difficulté à reproduire, se faire expliquer...). Ca permet aussi de donner un bon rythme (test, dev, refactor). En bonus, j'ai un code testé que je peux faire évoluer sans trop casser.

  2. #2
    Membre émérite
    Inscrit en
    Janvier 2011
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Janvier 2011
    Messages : 805
    Par défaut
    Citation Envoyé par renoo Voir le message
    je code les tests d'abord puis la fonctionnalité buggée à l'arrache pour que ca compile et que ca casse.
    Malheureux, c'est du pain bénit pour les détracteurs de TDD qui vont dire que tu perds du temps à imaginer ton implémentation à l'arrache pour ensuite l'effacer

    Plus sérieusement, je préfère créer juste une méthode vide ou qui throw une NotImplementedException (souvent générée automatiquement par une fonctionnalité de refactoring dans l'IDE), ça suffit pour faire planter le test.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 307
    Par défaut
    Citation Envoyé par Luckyluke34 Voir le message
    Plus sérieusement, je préfère créer juste une méthode vide ou qui throw une NotImplementedException (souvent générée automatiquement par une fonctionnalité de refactoring dans l'IDE), ça suffit pour faire planter le test.
    Oui c'est bien mieux comme ça et c'est plus ça que je fais d'ailleurs : une fonction qui a le bon profile mais la plus courte possible et buggée (return 1; si ca retourne un int) et c'est vraiment le plus rapide à coder. Le truc c'est que cette étape permet aussi tester un peu le test.

    Mais sinon écrire une première implémentation pas top sur certains aspects (pex perf & co) et y revenir ensuite avec un ensemble de tests dont une partie peut être conservée... ça me semble plutôt du temps gagné, d'autant plus que peut être il n'y aura pas à revenir dessus (premature optimization is the root of all evil).

Discussions similaires

  1. [PHPUnit] Développement piloté par les tests
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 12/11/2013, 13h19
  2. Réponses: 9
    Dernier message: 26/01/2012, 10h33
  3. développement piloté par les tests pour un jeu vidéo
    Par Mindiell dans le forum Méthodes Agiles
    Réponses: 1
    Dernier message: 06/08/2009, 10h28
  4. Développement piloté par les tests avec PHPUnit
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 18/11/2008, 19h53

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