L'Integration Testing Est la Partie que l'AI Ne Peut Pas Sauter Pour Toi
La plateforme fonctionne. End-to-end, jusqu'au bout : log in, parcourir le lobby, s'asseoir à une table, voir les sièges, ouvrir le dialogue de buy-in, observer une main.
Arriver ici a pris quatre posts. Un bug de routing, un mismatch de format de données, un auth guard cassé, un environnement de développement qui ignorait silencieusement les changements de code.
Ca a aussi pris de l'integration testing. Ce dont parle ce post.
A Quoi Ressemblait la Phase de Testing
Nous avons testé avec Playwright -- un outil d'automatisation de browser qui scripte de vraies interactions de browser et vérifie les résultats. Vrai browser. Vraies requêtes. Vraie UI rendue.
La session : log in avec des credentials de test, atteindre le lobby, confirmer que les cards de table rendent à la bonne hauteur, naviguer vers une table, confirmer que la barre de header apparaît avec un bouton lobby et un bouton help, confirmer que le seat picker rend tous les sièges ouverts.
Chaque étape a échoué au premier run.
Les table cards mesuraient 572 pixels de hauteur parce que CSS Grid applique align-items: stretch par défaut quand il n'y a qu'un item dans la rangée. Personne n'a spécifié ça. Personne ne l'a cassé intentionnellement. C'est juste ce que CSS fait.
Naviguer vers une table envoyait le browser dans une boucle de redirect. L'auth guard vérifiait une valeur de contexte du router qui n'était jamais peuplée.
Ce ne sont pas des modes de défaillance spécifiques à l'AI. C'est la classe de bugs qui n'apparaissent que quand la stack complète tourne ensemble. Ils seraient apparus aussi dans du code écrit par des humains. La phase de testing les attrape de toute façon.
Pourquoi le Code Généré par AI Le Nécessite Toujours
Il existe une version du développement assisté par AI qui traite le testing comme optionnel. Le raisonnement : le spec est correct, l'agent implémente le spec, donc l'implémentation est correcte.
Ce raisonnement échoue à la couche d'intégration.
Des composants individuels peuvent chacun implémenter leur spec correctement et quand même ne pas réussir à communiquer entre eux. Le spec décrit le comportement en isolation. L'integration testing vérifie le comportement en composition. Une spécification de 100 pages qui couvre chaque domaine du système ne décrit toujours pas chaque default de CSS Grid et chaque ordre d'initialisation de context du router.
Faire tourner le truc est la seule façon de voir à quoi ressemble faire tourner le truc.
Ce Que l'Humain Fait Encore
Chaque échec dans la session de testing a été identifié par une personne regardant un browser. La card du lobby s'étirait à pleine hauteur -- cette observation est visuelle, pas logguée. La table chargeait blanche -- ça demandait de regarder les network requests et remarquer le 404. La boucle de redirect a été tracée en suivant l'historique de navigation du browser.
Ces observations se produisent avant que l'AI ne soit impliquée dans le diagnostic. L'agent peut tracer un bug que tu as décrit. La description demande un humain qui comprend à quoi le comportement est censé ressembler.
Ce n'est pas une limitation de la méthodologie. C'est la méthodologie qui fonctionne correctement. L'humain définit le système, vérifie l'output, et escalade les échecs. L'agent diagnostique et corrige. Cette division tient tout au long de la phase de testing.
Où Nous En Sommes Maintenant
L'environnement de dev passe l'end-to-end testing. La plateforme est opérationnellement prête. Entre maintenant et la beta ouverte : validation finale sur staging, intégration du card payment processor, et enforcement du geofencing.
La phase de testing n'est pas terminée. Elle est montée dans la stack.
Le salty.poker changelog est mis à jour au fur et à mesure qu'on ship. Suis-le si tu veux tracker le build en temps réel.
Pour la série complète sur la méthodologie d'ingénierie -- comment le spec drive les sessions, à quoi ressemble le rôle d'architecte à travers la phase de testing, et ce que presque 30 ans à construire des logiciels t'apprennent sur l'itération -- cette série tourne en parallèle sur The Salty Korean.
Stay salty.
The Salty Korean
Fondateur du Salty Poker Network. Écrit sur le poker au Texas, la création de plateformes et l'avenir du poker en ligne. Lire la suite sur The Salty Korean.