26-08-2013, 02:45 PM
L'énorme avantage du teste unitaire reste tout de même, dans une application comportant de multiples classes et méthodes, de pouvoir faire un sanity check complet sans passer deux plombes à le faire à la main via l'interface.
Ça ne permet évidemment pas de faire un code 100% bug free mais au moins, tu es sur que les méthodes fonctionnent.
Comme l'a dit niahoo, écrire des tests, ça s'apprend. Dans certaines entreprises, il existe même des postes entièrement dédiés à l'élaboration de procédures de test.
L'exemple que tu donnes en début de thread, est biaisé car les tests ne sont ni pertinents ni complets.
Rien que le fait de proposer la valeur 2 en entrée aurait révélé le problème.
Il faut donc savoir quoi tester et comment le tester.
En POO, le test unitaire ne valide pas que les valeurs mais aussi le comportement dans une situation donnée comme l'a bien souligné Sephi-Chan.
De toute manière, que ce soit à la main ou via une procédure automatique, il est impossible de tester tous les cas in extenso. Les tests unitaires effectuent une partie du travail mais pas tout. Il ne peuvent s'appliquer qu'aux cas que le testeur souhaite vérifier. c'est pour cela qu'il faut les concevoir de manière structurée.
Ça ne permet évidemment pas de faire un code 100% bug free mais au moins, tu es sur que les méthodes fonctionnent.
Comme l'a dit niahoo, écrire des tests, ça s'apprend. Dans certaines entreprises, il existe même des postes entièrement dédiés à l'élaboration de procédures de test.
L'exemple que tu donnes en début de thread, est biaisé car les tests ne sont ni pertinents ni complets.
Rien que le fait de proposer la valeur 2 en entrée aurait révélé le problème.
Il faut donc savoir quoi tester et comment le tester.
En POO, le test unitaire ne valide pas que les valeurs mais aussi le comportement dans une situation donnée comme l'a bien souligné Sephi-Chan.
De toute manière, que ce soit à la main ou via une procédure automatique, il est impossible de tester tous les cas in extenso. Les tests unitaires effectuent une partie du travail mais pas tout. Il ne peuvent s'appliquer qu'aux cas que le testeur souhaite vérifier. c'est pour cela qu'il faut les concevoir de manière structurée.
Quand on te dit qu'un projet est terminé à 90%, prépare toi pour les 90% suivant
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC