Ce troisième volet du guide complet sur les tests automatisés se concentre sur les tests d'acceptation, présentés comme la pierre angulaire du processus de validation avant déploiement en production. L'auteur explique pourquoi ces tests sont considérés comme les plus importants : leur objectif principal est de vérifier que les modifications peuvent être déployées en environnement de production en toute sécurité. Pour cela, les tests d'acceptation doivent reproduire fidèlement les conditions réelles de production, avec l'application déployée sur une infrastructure identique et connectée aux mêmes technologies.
Les tests fonctionnels d'acceptation constituent le cœur de cette approche, visant à valider la logique métier de l'application via ses interfaces externes (API HTTP, files d'attente, CLI). L'article met en garde contre plusieurs pièges courants : la tentation de tester via l'interface utilisateur avec des outils comme Selenium, qui rend les tests fragiles et coûteux à maintenir ; la dépendance directe à la structure de la base de données, qui empêche les refactorisations ; l'appel à des API externes non mockées, source d'instabilité ; et le manque d'isolation entre les tests, causant des résultats incohérents.
L'auteur détaille également les approches pour tester l'interface utilisateur, en distinguant les tests end-to-end avec Selenium ou Cypress (complets mais lents) du pattern Humble Object (plus rapide mais nécessitant une architecture spécifique). Enfin, les tests de charge d'acceptation sont abordés comme moyen de valider les performances sous contrainte, en transposant les exigences métier en scénarios de test reproductibles sur un environnement de test représentatif.