Le test avant le code, même avec un agent
Le volume est le problème
Un agent produit en quelques minutes ce qui prenait une journée. La revue humaine, elle, n’a pas accéléré. Si rien ne change dans la méthode, on relit de moins en moins bien un code de plus en plus abondant, et on finit par valider sur l’apparence : ça compile, ça ressemble à du code correct, donc on passe.
Le piège n’est pas que l’IA se trompe. Un développeur aussi. Le piège est qu’elle se trompe vite, de façon plausible, et à grande échelle.
Le test en premier, et il n’est pas écrit par l’agent
Le comportement attendu s’écrit avant l’implémentation, avec ses cas limites et son jeu de données. L’agent code ensuite pour le satisfaire. L’ordre n’est pas un rituel : un test écrit après coup décrit ce que le code fait, pas ce qu’on voulait qu’il fasse, et il valide donc aussi les erreurs.
Sur ce dépôt, la règle est outillée : des hooks refusent qu’un fichier de test soit posé par l’assistant, refusent qu’une doublure de module remplace un vrai service, et demandent confirmation dès qu’un fichier source apparaît sans test qui le couvre. Une règle qu’aucun outil ne fait respecter n’est qu’une intention.
Et ce qui vérifie les tests
Reste une question que la couverture ne répond pas : est-ce que ces tests détectent quelque chose ? Les tests de mutation modifient volontairement le code (inverser une condition, supprimer un appel) et regardent si la suite passe encore. Quand elle passe, le test traversait la ligne sans rien vérifier.
C’est l’outil qui manque le plus souvent sur une base largement générée : elle est couverte au sens du pourcentage, et démunie au sens de la détection. Jest et Cypress disent que le code tourne ; Stryker dit si les tests valent quelque chose.
Ce que ça change côté client
La bonne question à poser à un prestataire n’est plus « utilisez-vous l’IA ? » : la réponse est oui presque partout, et elle n’engage à rien. Elle est : qu’est-ce qui rattrape une erreur produite par cette IA avant qu’elle arrive en production, et qui en répond ?
La décision qui vous revient est celle du filet : ce que vous acceptez de faire produire par une machine, et le niveau de preuve exigé en dessous. Elle se prend avant le premier fichier, pas au premier incident.