J’ai pu passer la certification ISTQB Test Automation Engineer (Automatisation de test – Ingénierie). Tout comme la certification ISTQB Test Analyst tout c’est fait à distance, la formation (3 jours) comme l’examen (90 minutes).
C’est la certification ISTQB (International Software Testing Qualifications Board) pour laquelle j’avais le plus t’attentes. La formatrice que l’on a eue a une bonne expérience de l’automatisation des tests et on voyait que c’est un sujet qui l’intéresse, c’était donc enrichissant de pouvoir bénéficier de son expérience.
Préparer cette certification m’a permit d’avoir une vue plus globale sur les pratiques liées à l’automatisation des tests. En effet, l’approche pour automatiser les tests est choisie en fonction du contexte (temps disponible, budget, durée de vie de l’application, compétences disponibles…). Même si je connaissais déjà la plupart de ces approches je n’ai pas eu l’occasion de toutes les expérimenter. Pour information les approches d’automatisation évoquées dans le syllabus sont : approche capture/rejeu, scripting linéaire, scripting structuré, tests pilotés par les données, test piloté par les mots-clés, scripting piloté par les processus et test basé sur les modèles (MBT).
Actuellement dans mon travail, au quotidien, j’utilise Selenium avec un approche « scripting structuré ». Pour être plus précis j’utilise le design pattern Page Object Model (POM). Cette approche fonctionne très bien (il faut bien sûr respecter les principes de base de la programmation) et convient à mon contexte mais j’aimerais en apprendre d’avantage sur des approches plus abstraites. Je pense que l’un de mes prochains objectifs sera de m’essayer au test piloté par les mots-clés notamment avec Robot Framework. Étant habitué à tester par l’interface utilisateur (GUI) je vais aussi m’intéresser à tester par l’API.
Cette formation m’a aussi conforté dans les choix que j’ai fait au niveau de la solution d’automatisation que j’ai mise en place. J’ai aussi pu voir des axes d’amélioration, notamment sur la gestion des tests échoués (stopper une suite de tests lorsqu’un test parent est en échec, relancer un test qui a échoué…). Il y a aussi l’aspect testabilité du logiciel testé qui peut être amélioré en demandant aux développeurs de permettre une meilleur interaction entre la solution d’automatisation et le logiciel.
C’est une formation ISQBT que je conseille si on a une bonne expérience de l’automatisation des tests car il sera ainsi plus facile de comprendre les concepts abordés. On pourra aussi faire le lien avec son travail et ainsi voir ce que l’on fait de bien et les améliorations possibles. C’est aussi intéressant de voir les contraintes liées au type du système testé (logiciel embarqué, application Web, application mobile…).