La pertinence des tests unitaires
comme Perrick, je m'interroge sur la pertinence de mes tests unitaires.
dans quelle mesure
un test valide-t-il réellement ou suffisamment fortement le code?
un bon test ( ou un bon scenario de tests ) doit ( dans l'ordre ):
_ valider les erreurs triviales
_ valider le cas général qui fonctionne
_ valdier les cas particuliers connus
_ ne pas être affecté par des effets de bord
_ être relativement simple à étendre
_ de manière générale, tester entièrement la regle de gestion que le code doit respecter, regle de gestion au moment du codage, qui pourra évoluer par la suite ( qui évoluera par la suite )
qui dit test unitaire dit fonction unitaire: on ne peut tester, dans un premier temps, que ce qui est simple. ceci amène naturellement à simplifier son code ( code unitaire ) et éviter le code couteau suisse :
_ une fonction / méthode ( unitaire ) ne fait qu'une seule action, simple
_ ses valeurs de retours sont normées, définies par le programmeur: booléen, tableau, chaine de caractère ...
toutes les fonctions ne sont pas simples, mais en procédant de cette manière le programmeur écrit des fonctions plus complexes basées sur des fonctions simples ( qui fonctionnent ) . les bugs possibles du code ne sont plus situés au niveau le plus bas, d'où un gain de temps lors de leur traque.