<- Retour à l'accueil Contact : etienne"at"les-sauvages.fr

Simulateur physique : tests unitaires

On développe des trucs, des bidules qui font le café, cirent les pompes et shadokisent à qui mieux-mieux, mais on a besoin de consistance. Dans les jeunes temps de l'informatique, on essayait de prouver le code. Oui oui, le prouver, avec une preuve mathématique. Je crois que le métro automatique de Lille a été prouvé, mais c'est peut-être juste une légende.

Prouver un code, cela signifie... je ne sais plus. Je ne sais plus tellement ça demande une énergie folle et une rigueur terrible. La complexité de l'opération dépasse rapidement ce que la force de réflexion d'une université entière peut fournir. Oui, sans limite de temps. Il faut, ça je m'en souviens, avoir l'ensemble des états du système et tous leurs enchaînements possibles.

On a dû arrêter d'avoir cette exigence. Alors on fait des campagnes de test, essentiellement en croisant les doigts pour que ça passe.

Spoiler : ça ne passe pas.

On a essayé les tests de non régression, les tests unitaires, les tests de conformité, les tests de Jean Passe et D. Meyeur, et on a des logiciels de plus en plus buggués, plein de code copié-collé et de framework bancals sur des systèmes branlants. J'ai connu personnellement une bibliothèque de calcul matriciel qui faisait ses tests unitaires sur des matrices uniquement de taille paire : le jour où ils auront un écran de 57 x 41 on rigolera...

Alors on va tenter de se faire plaisir en concevant le simulateur par les tests unitaires. Comment ça marche de quoi qu'il retourne ?

C'est simple, et cela fonctionne selon un seul grand principe :

On ne développe pas ce qu'on n'utilise pas.

On ne développe pas ce qui n'est pas utile

Et pour être bien sûr de coller à ce principe, on rédige non pas le cas d'utilisation final, qu'on ne peut pas vérifer...

Oui, on ne peut pas vérifier le cas d'utilisation final, sinon on n'aurait pas besoin de faire le logiciel, enfin, ce serait complètement con, je développe un truc que je sais déjà faire : regarde, la roue que je fais roule moins bien que la roue que j'ai faite autrement... L'embrouille !

Donc, on va développer les vérifications qu'on peut faire : les tests unitaires.

Allez, dans Qt Creator, nouveau projet de test, c'est parti.