L’article souligne l’importance pour les développeurs de tester eux-mêmes leurs fonctionnalités avant livraison, plutôt que de se reposer uniquement sur des tests automatisés ou des équipes QA. L’auteur illustre ce point par un exemple où une page fonctionnait techniquement mais était inaccessible aux utilisateurs standards, un problème non détecté par les tests classiques. Il met en avant que les tests automatisés valident le code, mais c’est l’usage réel qui valide le produit, exigeant une approche plus empathique et concrète.
L’auteur explique que tester soi-même le produit permet de détecter des problèmes évidents, d’améliorer la compréhension des parcours utilisateurs et d’accélérer les revues de code. Il critique la tendance à déléguer ces vérifications, ce qui crée une distance entre les développeurs et le produit final. Selon lui, un développeur ne devrait considérer son travail comme terminé qu’une fois la fonctionnalité validée en conditions réelles.
Enfin, il insiste sur le fait que les tests automatisés restent essentiels pour la stabilité, mais ne remplacent pas les tests fonctionnels manuels. Les bugs visibles en production coûtent plus cher à corriger, d’où l’importance d’une boucle de feedback immédiate pour améliorer la qualité et l’expérience utilisateur.
L’idée principale de ce guide est de montrer comment les coding agents (agents capables d’exécuter du code) peuvent améliorer le processus de test manuel pour détecter des problèmes non couverts par les tests automatisés. L’auteur souligne que même si les tests unitaires ou TDD sont utiles, ils ne remplacent pas une vérification humaine, notamment pour des aspects comme l’ergonomie ou des comportements inattendus. Les agents peuvent ainsi exécuter directement du code (via python -c pour Python ou des commandes shell) ou interagir avec des APIs et interfaces web via des outils comme curl ou Playwright, révélant des bugs invisibles aux tests automatisés.
L’auteur détaille des mécanismes concrets pour automatiser ce testing manuel selon le type de projet. Pour les bibliothèques Python, l’exécution directe de code est efficace, tandis que pour les applications web, l’utilisation de requêtes HTTP (curl) ou d’outils de navigation automatisée comme Playwright permet d’explorer les fonctionnalités et de valider leur bon fonctionnement dans un environnement réaliste. Ces méthodes complètent les tests automatisés en identifiant des problèmes liés à l’expérience utilisateur ou à des cas limites non anticipés.
Enfin, l’auteur insiste sur l’importance d’intégrer ces pratiques dans un workflow de développement, en combinant tests automatisés et vérifications manuelles via les agents. Il recommande de corriger les bugs détectés en appliquant une approche red/green TDD pour garantir une couverture permanente, tout en utilisant des outils spécialisés comme agent-browser ou son propre projet Rodney pour simplifier l’automatisation des tests dans des navigateurs réels.