Bonjour, je voudrais bien essayer de me mettre à l'extreme programming.
J'ai lu un peu de littérature sur le sujet, mais j'ai du mal à voir la mise
en oeuvre concrète de l'utilisation intensives des tests.
Voici le genre d'exemple qui me pose problème : Imaginons une classe
Serveur - Imaginons encore que cette classe ouvre un socket, le socket
étant une variable privée.
Et enfin, imaginons que je veuille écrire un test qui vérifie la bonne
connection au serveur distant.
Pour savoir si la connexion a réussi ou pas :
- serveur.login(...)
- ici j'aurais un test du genre assertNotNull(serveur.socket)
Mais comme socket est une variable privée, je dois trouver une solution
pour y accéder ou alors ne pas réaliser de test dessus (cf.
http://www.artima.com/suiterunner/private.html)
Concrètement, dans un cas comme celui là j'ai beaucoup de mal à envisager
une solution dans laquelle je ne testerais pas la valeur de socket.
Je n'envisage pas de polluer la classe serveur avec une méthode public
isConnected(), celle ci n'ayant de raison d'exister que dans le cadre du
test, et je ne vois pas comment une série de tests peut être efficace si
elle ne porte que sur les méthodes et données publiques.
Si la classe serveur ne définie que 4 méthodes publiques :
serveur.login(...)
serveur.send(...)
serveur.receive(...)
serveur.loggout(...)
il me semble que les tests devront nécessairement porter sur les mécanismes
internes de la classe (chacune de ces 4 methodes faisant appel à de
nombreuses méthodes privées, imaginons les toutes plus complexes les unes
que les autres), sinon quel intérêt ?
Voila, pour reprendre mon exemple avec la variable privée socket j'aimerais
bien que quelqu'un me donne son point de vue et m'explique ce qui cloche
dans mon approche. Comment tester la bonne connexion au serveur distant ?
Merci d'avance
Bonjour, je voudrais bien essayer de me mettre à l'extreme programming.
J'ai lu un peu de littérature sur le sujet, mais j'ai du mal à voir la mise
en oeuvre concrète de l'utilisation intensives des tests.
Voici le genre d'exemple qui me pose problème : Imaginons une classe
Serveur - Imaginons encore que cette classe ouvre un socket, le socket
étant une variable privée.
Et enfin, imaginons que je veuille écrire un test qui vérifie la bonne
connection au serveur distant.
Pour savoir si la connexion a réussi ou pas :
- serveur.login(...)
- ici j'aurais un test du genre assertNotNull(serveur.socket)
Mais comme socket est une variable privée, je dois trouver une solution
pour y accéder ou alors ne pas réaliser de test dessus (cf.
http://www.artima.com/suiterunner/private.html)
Concrètement, dans un cas comme celui là j'ai beaucoup de mal à envisager
une solution dans laquelle je ne testerais pas la valeur de socket.
Je n'envisage pas de polluer la classe serveur avec une méthode public
isConnected(), celle ci n'ayant de raison d'exister que dans le cadre du
test, et je ne vois pas comment une série de tests peut être efficace si
elle ne porte que sur les méthodes et données publiques.
Si la classe serveur ne définie que 4 méthodes publiques :
serveur.login(...)
serveur.send(...)
serveur.receive(...)
serveur.loggout(...)
il me semble que les tests devront nécessairement porter sur les mécanismes
internes de la classe (chacune de ces 4 methodes faisant appel à de
nombreuses méthodes privées, imaginons les toutes plus complexes les unes
que les autres), sinon quel intérêt ?
Voila, pour reprendre mon exemple avec la variable privée socket j'aimerais
bien que quelqu'un me donne son point de vue et m'explique ce qui cloche
dans mon approche. Comment tester la bonne connexion au serveur distant ?
Merci d'avance
Bonjour, je voudrais bien essayer de me mettre à l'extreme programming.
J'ai lu un peu de littérature sur le sujet, mais j'ai du mal à voir la mise
en oeuvre concrète de l'utilisation intensives des tests.
Voici le genre d'exemple qui me pose problème : Imaginons une classe
Serveur - Imaginons encore que cette classe ouvre un socket, le socket
étant une variable privée.
Et enfin, imaginons que je veuille écrire un test qui vérifie la bonne
connection au serveur distant.
Pour savoir si la connexion a réussi ou pas :
- serveur.login(...)
- ici j'aurais un test du genre assertNotNull(serveur.socket)
Mais comme socket est une variable privée, je dois trouver une solution
pour y accéder ou alors ne pas réaliser de test dessus (cf.
http://www.artima.com/suiterunner/private.html)
Concrètement, dans un cas comme celui là j'ai beaucoup de mal à envisager
une solution dans laquelle je ne testerais pas la valeur de socket.
Je n'envisage pas de polluer la classe serveur avec une méthode public
isConnected(), celle ci n'ayant de raison d'exister que dans le cadre du
test, et je ne vois pas comment une série de tests peut être efficace si
elle ne porte que sur les méthodes et données publiques.
Si la classe serveur ne définie que 4 méthodes publiques :
serveur.login(...)
serveur.send(...)
serveur.receive(...)
serveur.loggout(...)
il me semble que les tests devront nécessairement porter sur les mécanismes
internes de la classe (chacune de ces 4 methodes faisant appel à de
nombreuses méthodes privées, imaginons les toutes plus complexes les unes
que les autres), sinon quel intérêt ?
Voila, pour reprendre mon exemple avec la variable privée socket j'aimerais
bien que quelqu'un me donne son point de vue et m'explique ce qui cloche
dans mon approche. Comment tester la bonne connexion au serveur distant ?
Merci d'avance
Bonjour, je voudrais bien essayer de me mettre à l'extreme programming.
J'ai lu un peu de littérature sur le sujet, mais j'ai du mal à voir la
mise en oeuvre concrète de l'utilisation intensives des tests.
Voila, pour reprendre mon exemple avec la variable privée socket
j'aimerais bien que quelqu'un me donne son point de vue et m'explique ce
qui cloche dans mon approche. Comment tester la bonne connexion au serveur
distant ?
Bonjour, je voudrais bien essayer de me mettre à l'extreme programming.
J'ai lu un peu de littérature sur le sujet, mais j'ai du mal à voir la
mise en oeuvre concrète de l'utilisation intensives des tests.
Voila, pour reprendre mon exemple avec la variable privée socket
j'aimerais bien que quelqu'un me donne son point de vue et m'explique ce
qui cloche dans mon approche. Comment tester la bonne connexion au serveur
distant ?
Bonjour, je voudrais bien essayer de me mettre à l'extreme programming.
J'ai lu un peu de littérature sur le sujet, mais j'ai du mal à voir la
mise en oeuvre concrète de l'utilisation intensives des tests.
Voila, pour reprendre mon exemple avec la variable privée socket
j'aimerais bien que quelqu'un me donne son point de vue et m'explique ce
qui cloche dans mon approche. Comment tester la bonne connexion au serveur
distant ?
Maintenant d'un point de vue "eXtrem Programming", il convient de créer
d'abord le squelette de ta classe avec les méthodes qui doivent
retournées des valeurs par défaut. Lorsque ce squelette est prêt tu
écris l'ensemble de tes tests unitaires
Maintenant d'un point de vue "eXtrem Programming", il convient de créer
d'abord le squelette de ta classe avec les méthodes qui doivent
retournées des valeurs par défaut. Lorsque ce squelette est prêt tu
écris l'ensemble de tes tests unitaires
Maintenant d'un point de vue "eXtrem Programming", il convient de créer
d'abord le squelette de ta classe avec les méthodes qui doivent
retournées des valeurs par défaut. Lorsque ce squelette est prêt tu
écris l'ensemble de tes tests unitaires
Bonjour, je voudrais bien essayer de me mettre à l'extreme programming.
J'ai lu un peu de littérature sur le sujet, mais j'ai du mal à voir la mise
en oeuvre concrète de l'utilisation intensives des tests.
Bonjour, je voudrais bien essayer de me mettre à l'extreme programming.
J'ai lu un peu de littérature sur le sujet, mais j'ai du mal à voir la mise
en oeuvre concrète de l'utilisation intensives des tests.
Bonjour, je voudrais bien essayer de me mettre à l'extreme programming.
J'ai lu un peu de littérature sur le sujet, mais j'ai du mal à voir la mise
en oeuvre concrète de l'utilisation intensives des tests.
Voici le genre d'exemple qui me pose problème : Imaginons une classe
Serveur - [...] Pour savoir si la connexion a réussi ou pas :
- ici j'aurais un test du genre assertNotNull(serveur.socket)
Voici le genre d'exemple qui me pose problème : Imaginons une classe
Serveur - [...] Pour savoir si la connexion a réussi ou pas :
- ici j'aurais un test du genre assertNotNull(serveur.socket)
Voici le genre d'exemple qui me pose problème : Imaginons une classe
Serveur - [...] Pour savoir si la connexion a réussi ou pas :
- ici j'aurais un test du genre assertNotNull(serveur.socket)
Bonjour, je voudrais bien essayer de me mettre à l'extreme programming.
J'ai lu un peu de littérature sur le sujet, mais j'ai du mal à voir la mise
en oeuvre concrète de l'utilisation intensives des tests.
Voici le genre d'exemple qui me pose problème : Imaginons une classe
Serveur - Imaginons encore que cette classe ouvre un socket, le socket
étant une variable privée.
Et enfin, imaginons que je veuille écrire un test qui vérifie la bonne
connection au serveur distant.
Pour savoir si la connexion a réussi ou pas :
- serveur.login(...)
- ici j'aurais un test du genre assertNotNull(serveur.socket)
Mais comme socket est une variable privée, je dois trouver une solution
pour y accéder ou alors ne pas réaliser de test dessus (cf.
http://www.artima.com/suiterunner/private.html)
Concrètement, dans un cas comme celui là j'ai beaucoup de mal à envisager
une solution dans laquelle je ne testerais pas la valeur de socket.
Je n'envisage pas de polluer la classe serveur avec une méthode public
isConnected(), celle ci n'ayant de raison d'exister que dans le cadre du
test,
elle ne porte que sur les méthodes et données publiques.
Si la classe serveur ne définie que 4 méthodes publiques :
serveur.login(...)
serveur.send(...)
serveur.receive(...)
serveur.loggout(...)
il me semble que les tests devront nécessairement porter sur les mécanismes
internes de la classe (chacune de ces 4 methodes faisant appel à de
nombreuses méthodes privées, imaginons les toutes plus complexes les unes
que les autres), sinon quel intérêt ?
Merci d'avance
Bonjour, je voudrais bien essayer de me mettre à l'extreme programming.
J'ai lu un peu de littérature sur le sujet, mais j'ai du mal à voir la mise
en oeuvre concrète de l'utilisation intensives des tests.
Voici le genre d'exemple qui me pose problème : Imaginons une classe
Serveur - Imaginons encore que cette classe ouvre un socket, le socket
étant une variable privée.
Et enfin, imaginons que je veuille écrire un test qui vérifie la bonne
connection au serveur distant.
Pour savoir si la connexion a réussi ou pas :
- serveur.login(...)
- ici j'aurais un test du genre assertNotNull(serveur.socket)
Mais comme socket est une variable privée, je dois trouver une solution
pour y accéder ou alors ne pas réaliser de test dessus (cf.
http://www.artima.com/suiterunner/private.html)
Concrètement, dans un cas comme celui là j'ai beaucoup de mal à envisager
une solution dans laquelle je ne testerais pas la valeur de socket.
Je n'envisage pas de polluer la classe serveur avec une méthode public
isConnected(), celle ci n'ayant de raison d'exister que dans le cadre du
test,
elle ne porte que sur les méthodes et données publiques.
Si la classe serveur ne définie que 4 méthodes publiques :
serveur.login(...)
serveur.send(...)
serveur.receive(...)
serveur.loggout(...)
il me semble que les tests devront nécessairement porter sur les mécanismes
internes de la classe (chacune de ces 4 methodes faisant appel à de
nombreuses méthodes privées, imaginons les toutes plus complexes les unes
que les autres), sinon quel intérêt ?
Merci d'avance
Bonjour, je voudrais bien essayer de me mettre à l'extreme programming.
J'ai lu un peu de littérature sur le sujet, mais j'ai du mal à voir la mise
en oeuvre concrète de l'utilisation intensives des tests.
Voici le genre d'exemple qui me pose problème : Imaginons une classe
Serveur - Imaginons encore que cette classe ouvre un socket, le socket
étant une variable privée.
Et enfin, imaginons que je veuille écrire un test qui vérifie la bonne
connection au serveur distant.
Pour savoir si la connexion a réussi ou pas :
- serveur.login(...)
- ici j'aurais un test du genre assertNotNull(serveur.socket)
Mais comme socket est une variable privée, je dois trouver une solution
pour y accéder ou alors ne pas réaliser de test dessus (cf.
http://www.artima.com/suiterunner/private.html)
Concrètement, dans un cas comme celui là j'ai beaucoup de mal à envisager
une solution dans laquelle je ne testerais pas la valeur de socket.
Je n'envisage pas de polluer la classe serveur avec une méthode public
isConnected(), celle ci n'ayant de raison d'exister que dans le cadre du
test,
elle ne porte que sur les méthodes et données publiques.
Si la classe serveur ne définie que 4 méthodes publiques :
serveur.login(...)
serveur.send(...)
serveur.receive(...)
serveur.loggout(...)
il me semble que les tests devront nécessairement porter sur les mécanismes
internes de la classe (chacune de ces 4 methodes faisant appel à de
nombreuses méthodes privées, imaginons les toutes plus complexes les unes
que les autres), sinon quel intérêt ?
Merci d'avance
Benoît,
On sent quelqu'un qui a pratiqué JUnit. (Pour ce qui est d'Extreme
Programming à proprement parler, voir mes remarques ci-dessous.) Sur
quel genre de projets ?Maintenant d'un point de vue "eXtrem Programming", il convient de créer
d'abord le squelette de ta classe avec les méthodes qui doivent
retournées des valeurs par défaut. Lorsque ce squelette est prêt tu
écris l'ensemble de tes tests unitaires
Non, là on n'est déjà plus dans la démarche du "développement par les
tests" (TDD) que recommande Extreme Programming.
L'algorithme est le suivant:
- j'identifie *UNE* chose que mon programme doit pouvoir faire, par
exemple, l'addition de deux nombres;
- j'écris un test qui caractérise cette capacité; par exemple:
assertEquals(5, monObjet.additione(2,3) )
- si besoin est je créée les signatures de méthodes de façon à ce que ça
compile; par exemple:
class MaClasse {
public int additionne(int a, int b) { return -1;}
- j'exécute le test; je vérifie qu'il échoue
- j'implémente le code nécessaire pour passer le test
- j'effectue les remaniements (refactorings) si nécessaires pour rendre
le design résultant le plus simple possible
Je déroule la boucle ci-dessus pour *chaque* capacité du code, l'une
après l'autre. En aucun cas je n'écris plusieurs tests d'un seul coup.
A+
Ok pour l'exemple. J'avais mis "eXtreme Programming" entre guillemets,
Benoît,
On sent quelqu'un qui a pratiqué JUnit. (Pour ce qui est d'Extreme
Programming à proprement parler, voir mes remarques ci-dessous.) Sur
quel genre de projets ?
Maintenant d'un point de vue "eXtrem Programming", il convient de créer
d'abord le squelette de ta classe avec les méthodes qui doivent
retournées des valeurs par défaut. Lorsque ce squelette est prêt tu
écris l'ensemble de tes tests unitaires
Non, là on n'est déjà plus dans la démarche du "développement par les
tests" (TDD) que recommande Extreme Programming.
L'algorithme est le suivant:
- j'identifie *UNE* chose que mon programme doit pouvoir faire, par
exemple, l'addition de deux nombres;
- j'écris un test qui caractérise cette capacité; par exemple:
assertEquals(5, monObjet.additione(2,3) )
- si besoin est je créée les signatures de méthodes de façon à ce que ça
compile; par exemple:
class MaClasse {
public int additionne(int a, int b) { return -1;}
- j'exécute le test; je vérifie qu'il échoue
- j'implémente le code nécessaire pour passer le test
- j'effectue les remaniements (refactorings) si nécessaires pour rendre
le design résultant le plus simple possible
Je déroule la boucle ci-dessus pour *chaque* capacité du code, l'une
après l'autre. En aucun cas je n'écris plusieurs tests d'un seul coup.
A+
Ok pour l'exemple. J'avais mis "eXtreme Programming" entre guillemets,
Benoît,
On sent quelqu'un qui a pratiqué JUnit. (Pour ce qui est d'Extreme
Programming à proprement parler, voir mes remarques ci-dessous.) Sur
quel genre de projets ?Maintenant d'un point de vue "eXtrem Programming", il convient de créer
d'abord le squelette de ta classe avec les méthodes qui doivent
retournées des valeurs par défaut. Lorsque ce squelette est prêt tu
écris l'ensemble de tes tests unitaires
Non, là on n'est déjà plus dans la démarche du "développement par les
tests" (TDD) que recommande Extreme Programming.
L'algorithme est le suivant:
- j'identifie *UNE* chose que mon programme doit pouvoir faire, par
exemple, l'addition de deux nombres;
- j'écris un test qui caractérise cette capacité; par exemple:
assertEquals(5, monObjet.additione(2,3) )
- si besoin est je créée les signatures de méthodes de façon à ce que ça
compile; par exemple:
class MaClasse {
public int additionne(int a, int b) { return -1;}
- j'exécute le test; je vérifie qu'il échoue
- j'implémente le code nécessaire pour passer le test
- j'effectue les remaniements (refactorings) si nécessaires pour rendre
le design résultant le plus simple possible
Je déroule la boucle ci-dessus pour *chaque* capacité du code, l'une
après l'autre. En aucun cas je n'écris plusieurs tests d'un seul coup.
A+
Ok pour l'exemple. J'avais mis "eXtreme Programming" entre guillemets,