Attention, le test unitaire n'est pas là pour montrer que le programme exécute les fonctions comme on s'y attend. Ça c'est le but des tests d'intégration et des tests systèmes. Le test unitaire montre que la fonction fait bien ce qui est indiqué dans sa spécification. Je montre, en cours, avec un exemple graphique des fonctions qui font ce qui est attendu par la spécification (dans ce cas « dessiner un motif ») et qui, donc, passent les tests unitaires, mais qui ne passent pas les tests d'intégrations parce que justement le programme n'exécute pas les fonctions correctement. Et 90% des étudiants tombent dans le piège.
On pourrait imaginer qu'un logiciel passe les tests de validations et pourtant échouent à certains tests unitaires. Il y aurait bien sûr à s'inquiéter sur les compétences du concepteur et de l'analyste. Mais dans ce cas, le contrat est réussi et c'est ce qui compte. On ne parle pas juste de rapidité ou de facilité d'utilisation.
Cependant, je crois que nous sommes tous d'accord sur le fond.
Partager