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

Tests et Performance Java Discussion :

Conseils pour les tests ?


Sujet :

Tests et Performance Java

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Points : 110
    Points
    110
    Par défaut Conseils pour les tests ?
    Bonjour,

    J'aurais besoin de quelques conseils pour le développement de mes tests.

    Je ne sais pas quelle est la meilleure solution entre :
    • Développer une méthode de test par méthode à tester. C'est à dire que tous les cas de tests seront dans une seule méthode de test
    • Développer plusieurs méthodes de tests par méthode à tester. C'est à dire qu'une méthode de test correspondra à un cas de test d'une méthode à tester


    Comment développez-vous vos tests ?

  2. #2
    Membre habitué Avatar de we.are.the.storm
    Profil pro
    Inscrit en
    Février 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 115
    Points : 139
    Points
    139
    Par défaut
    Personnellement j'utilise généralement la deuxième solution,

    Je peux vouloir tester plusieurs qu'une méthode se déroule correctement lors de son contexte d'utilisation traditionnel, mais aussi qu'elle renvoie telle ou telle exception sur des cas particuliers par exemple.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Points : 110
    Points
    110
    Par défaut
    Merci pour ta réponse.

    Je suis dans le même cas que toi. Je teste à la fois que les valeurs retournées sont correctes en cas de succès, mais également que les exceptions sont correctement levées en cas de problème.

    Personnellement j'ai commencé à tester avec la 1ère solution et elle ne me semble pas très facile à maintenir...

  4. #4
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Bonjour,

    d'ailleurs, c'est la philosophie des tests unitaires hein. Chaque méthode dont le niveau d'encapsulation est protected, package ou public devrait avoir sa/ses propre(s) méthode(s) de tests.
    Il faut normalement pour chaque test unitaire (c'est à dire pour chaque méthode annotée par @Test) tester un cas possible (valeur attendue, valeur non attendue, exception attendue, ...)

    Donc, ce n'est très certainement pas une bonne idée de tout tester (voire de tester plusieurs choses) sur une seule méthode de test.

    Cordialement,
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  5. #5
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Comme le dit paissad, il s'agit de test unitaires. Ils doivent donc tester des unités, pas des ensembles, des groupes, etc, etc...

    D'ailleurs, le problème majeur de tout tester dans une seule méthode c'est que si ta première assertion plante, tu ne sauras pas, tant que tu n'as pas ré-exécuté tes tests, que les 48 assertions suivantes plantent aussi. Et devoir exécuter 49 fois ta méthode de tests pour voir tous les cas de plantage c'est pas super productif
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Points : 110
    Points
    110
    Par défaut
    Bonjour,

    J'ai re-développé mes classes de test ! Maintenant j'ai 1 méthode par test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void testMaMethode_whenInvalidArguments();
    public void testMaMethode_whenSuccess();
    //...
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void testMaMethode();
    Merci pour vos retours !

  7. #7
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Ravi que ça t'ait servi.

    Pour info, par respect de la convention de nommage Sun des noms de méthodes, il faudrait que tu nommes tes méthodes sans undescore !
    http://www.loribel.com/java/normes/nameMethod.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void testMaMethodeWhenInvalidArguments(); public void testMaMethodeWhenSuccess();
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Points : 110
    Points
    110
    Par défaut
    Oui c'est vrai. C'est ce que j'avais fait au début mais je trouvais que c'était moins lisible...
    Mais je vais suivre la norme ^^

Discussions similaires

  1. Strategies pour les tests unitaires
    Par xxiemeciel dans le forum Test
    Réponses: 6
    Dernier message: 17/04/2008, 11h59
  2. petit conseil pour les index
    Par fpouget dans le forum Langage SQL
    Réponses: 11
    Dernier message: 10/12/2005, 04h39
  3. [JMeter] Problème avec la boucle infinie pour les tests
    Par zegreg dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 05/10/2005, 11h41
  4. Méthodologie pour les tests
    Par Maitre B dans le forum Test
    Réponses: 7
    Dernier message: 10/03/2005, 17h57
  5. [Stratégie] Ant pour les tests en Java ?
    Par franckR dans le forum Tests et Performance
    Réponses: 5
    Dernier message: 08/03/2004, 09h38

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