Aides à l'écriture de tests


#1

Salut !

Suite à mon boulet de tout à l’heure, je veux me mettre sérieusement Ã
écrire les tests. Jusqu’à présent je ne reprenais que ceux générés et
m’assurait de les mettre à jour.

J’ai vu passer rcov, qui fait une analyse de couverture de code. Les
seuls
articles que je vois passer son assez vieux (2006), et je voudrais
savoir si
c’est toujours d’actualité. Ensuite, si vous avez des conseils de
méthode de
travail pour maximiser la pertinence des tests, je prends !

Merci.

gUI


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/


#2

Guillaume B. wrote:

Salut !

Suite à mon boulet de tout à l’heure, je veux me mettre sérieusement à
écrire les tests. Jusqu’à présent je ne reprenais que ceux générés et
m’assurait de les mettre à jour.

J’ai vu passer rcov, qui fait une analyse de couverture de code. Les
seuls articles que je vois passer son assez vieux (2006), et je
voudrais savoir si c’est toujours d’actualité. Ensuite, si vous avez
des conseils de méthode de travail pour maximiser la pertinence des
tests, je prends !
Rcov fonctionne toujours pareil et fonctionne toujours bien. Ca permet
de savoir si ton code est couvert par au moins un test. Ca ne permet pas
de savoir si le test est pertinant. Le mieux est de faire des test sur
tous les cas exceptionnel auquel tu penses. Sinon à chaque “bug”. Fait
un test le reproduisant et ensuite fixe le.


Cyril mougel
http://blog.shingara.fr


#3

Rcov fonctionne toujours pareil et fonctionne toujours bien.

parfait, ça tombe bien, j’y ai passé 1 bonne heure, mon but est
d’arriver Ã
100%, c’est la moindre des choses.
je me planifie une soirée dédiée à ça (-:

Ca ne permet pas
de savoir si le test est pertinant.

bien sur, mais comme tu dis, c’est toujours au moins ça.

Le mieux est de faire des test sur
tous les cas exceptionnel auquel tu penses.

ok

Sinon à chaque “bug”. Fait
un test le reproduisant et ensuite fixe le.

pas con le coup du test pour chaque bug.

merci pour ces conseils.

et sinon pour un autre sujet (quoique), j’ai pas encore tâté du rspec.
avez-vous un avis sur son utilisation ? est-ce que ça améliore la
qualité
globale du code ?

gUI


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/


#4

Guillaume B. wrote:

Ca ne permet pas

ok
et sinon pour un autre sujet (quoique), j’ai pas encore tâté du rspec.
avez-vous un avis sur son utilisation ? est-ce que ça améliore la
qualité globale du code ?
Ca n’améliore pas la qualité du code. Ca permet d’avoir une meilleur
visibilité du code de test selon moi. Ca permet aussi d’avoir une sortie
de spec. En gros la Rdoc des test :slight_smile:


Cyril M.
http://blog.shingara.fr


#5

Bonjour,

Le 1 févr. 09 à 17:59, Guillaume B. a écrit :

Rcov fonctionne toujours pareil et fonctionne toujours bien.

parfait, ça tombe bien, j’y ai passé 1 bonne heure, mon but est
d’arriver à 100%, c’est la moindre des choses.
je me planifie une soirée dédiée à ça (-:

Attention à ne pas passer plus de temps à tester des cas
exceptionnels qu’à développer ton site ou ton application.
100 % de couverture du code des modèles, c’est facilement faisable.
100 % du code total (modèles, contrôleurs, helpers, lib/*, …) c’est
beaucoup plus dur.

Les 100 % de couverture du code de ton application, c’est comme la
vitesse de la lumière : tu dois dépenser de plus en plus d’énergie
pour t’en approcher de moins en moins.

A savoir également que rcov propose du “C0 line coverage”, et se
comporte plutôt en bon copain ; il marquera la ligne “obj.method if
condition” comme exécutée à partir du moment où il évaluera la
condition. Tu ne rentres pas forcément dans obj.method, mais la ligne
est marquée comme exécutée. D’autres méthodes de calcul sont pus
proches de la réalité (lire http://www.pervasivecode.com/blog/
2007/07/11/rcov-c0-line-coverage-more-generous-than-emmas-c1-bytecode-
coverage/ par exemple).

Quoiqu’il en soit, ce que tu fais est une très bonne pratique. Bonne
continuation o/

Guillaume D.
Président de l’association Ruby France
http://www.rubyfrance.org/


#6

Hello Guillaume,

J’ai vu passer rcov, qui fait une analyse de couverture de code. Les seuls
articles que je vois passer son assez vieux (2006), et je voudrais savoir si
c’est toujours d’actualité. Ensuite, si vous avez des conseils de méthode de
travail pour maximiser la pertinence des tests, je prends !

Je pense que ce bouquin (en beta) pourrait t’être utile:
http://pragprog.com/titles/achbd/the-rspec-book

– Thibaut


#7

Les 100 % de couverture du code de ton application, c’est comme la vitesse
de la lumière : tu dois dépenser de plus en plus d’énergie pour t’en
approcher de moins en moins.

Travaillant dans le logiciel embarqué depuis presque 10 ans, j’ai bien
acquis cette notion, t’inquiètes pas (-:

D’autres méthodes de calcul sont pus proches de la réalité (lire

http://www.pervasivecode.com/blog/2007/07/11/rcov-c0-line-coverage-more-generous-than-emmas-c1-bytecode-coverage/par exemple).

Je vais regarder ça. Comme tu dis, faire 100% des modèles c’est pas très
dur, ça m’a permis de déceler 2 bugs (sur qques centaines de lignes
seulement), et à chaque modif, je suis rassuré de voir que déjà mes
qques
tests continuent de passer (ça élimine déjà les erreurs de syntaxe,
c’est
con, mais c’est déjà pas mal).

Quoiqu’il en soit, ce que tu fais est une très bonne pratique. Bonne

continuation o/

Dur de s’y astreindre quand c’est un dev “de loisir” !!!

Merci pour tes encouragements (-;

gUI


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/


#8

Je suis en train de le lire.

Effectivement en beta donc il y a des gros chapitres vides mais pour
l’instant il est excellent.

Le 9 février 2009 11:35, Thibaut Barrère removed_email_address@domain.invalid a
écrit
:


#9

Effectivement en beta donc il y a des gros chapitres vides mais pour
l’instant il est excellent.

Allez, $24 pour les différentes versions du pdf faut reconnaitre que
c’est
pas cher, je vais surement me l’offrir (-:

gUI


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/