Testhor

Et Testhor fut!

Testhor ou comment Jackie Chan m'a mené à une carrière dans les tests automatisés et le développement web...

Bienvenue sur Testhor! En ces lignes, je partage mon parcours dans le monde du développement web et de l'automatisation, un chemin semé d'embûches, de découvertes, et étonnamment, de film de Jackie Chan. Imaginez un mélange entre lignes de code et cascades, où chaque bug devient une aventure. De mes débuts sous Windows XP à la 'maîtrise' des tests automatisés, je vous invite à explorer avec moi les facettes ludiques et surprenantes des tests et du web.

Genèse

Au commencement, Parents achetèrent l'écran et l'ordinateur...

Si ma genèse ne commence pas exactement comme ça, il n'en demeure pas moins que notre aventure débute autour de 2005, lorsque mes parents, dans leur immense sagesse, achetèrent notre premier ordinateur. Cette révolution que je convoitais autant à l'école que chez mes pairs était enfin, à ma portée. On ne parle plus d'un vulgaire jouet permettant de jouer au pendu ou d'apprendre le Basic sur un ridicule écran de calculatrice; non,  on parle d'un vrai ordinateur, NOTRE ordinateur! Un ordinateur sous Windows XP, une connexion internet basse vitesse dont la vie ne tenait qu'à un fil... celui du téléphone...

Dès mon plus jeune âge, l'un des traits qui m'a défini fut la curiosité. Plus encore, chaque escapade en ville dès mes 6 ans était l'occasion de harceler mes parents pour obtenir une encyclopédie historique ou scientifique... Oui, je sais... un enfant qui sait comment s'amuser! Vous comprendrez donc que l'arrivée d'un ordinateur dans la maison changeait tout... Plus besoin d'encyclopédie, le savoir du monde était maintenant à ma portée! Plus encore, si j'avais maintenant une manière d'abreuver ma soif de connaitre, j'avais également la possibilité de créer mon propre contenu; de partager mes passions avec le monde!

Jackie Chan

Lorsque nous avons reçu cet ordinateur, j'avais environ 10 ans. Pour l'avenir, je rêvais de devenir soit historien, plus précisément égyptologue, ou bien encore de devenir Jackie Chan... J'étais passionné de bien des sujets, mais au niveau cinématographique, c'est Jackie Chan qui m'impressionnait le plus. Je n'étais pas très sportif, mais la façon dont Jackie Chan faisait ressentir le mot "art" dans art martial me fascinait et me stimulait. Tout bonnement, j'avais envie de partager mon grand savoir sur cet acteur. Comment? Par le web bien sûr!

Cette volonté de partager sur Jackie Chan m'amena à chercher comment développer mon propre site web. Direction le Site du Zéro pour apprendre le HTML, le CSS, puis progressivement le PHP, MySQL et le JavaScript. J'ai finalement pu créer mon petit fansite sur Jackie Chan, mais surtout, j'ai appris tout le plaisir que je pouvais avoir en concevant un site web, surtout si c'était pour y partager du contenu que j'aime. J'ai donc passé mon adolescence à concevoir de petits sites web qui me permettaient d'exposer mes intérêts du moment. Autant au Cégep qu'à l'Université, ces intérêts nourris par une curiosité sans fond m'amenèrent à explorer plusieurs disciplines comme l'informatique de gestion, la géomatique, la philosophie, la communication, l'administration, l'histoire et j'en passe. 

Et l'automatisation dans tout ça?

À toutes les étapes de mon parcours académique, la technologie a été un outil et un moteur de m'invitant à apprendre. En sciences humaines, jamais je n'ai cessé de programmer et développer des applications web en tout genre. Au cours de mes études et de mes projets personnels, je me suis mis au développement logiciel, en VB.net, puis C++, Python... Ce parcours m'a permis de découvrir deux choses, soit à quel point je suis en amour avec le web et à quel point l'automatisation me passionne! 

En 2022, alors en période de rédaction pour mon mémoire de maîtrise combinant discipline historique et informatique, je me suis mis à chercher un emploi. Après une seconde entrevue, je devenais testeur automatisé... Pour être franc, je ne savais même pas ce qu'étaient exactement des tests automatisés... En 2013-2014, alors en informatique de gestion, il ne fut jamais vraiment question de tests durant ma formation. Je savais une chose par contre, c'était un emploi de développeur et il y avait de l'automatisation.

Testeur automatisé

Pour autant, j'avais quand même une bonne idée de ce qu'était un testeur et je pouvais malgré tout m'imaginer ce qu'aurait l'air mon nouvel emploi. Pour être honnête, au départ, je voyais cet emploi comme une demi-victoire, car je me faisais comme image mentale qu'un testeur automatisé était moins "prestigieux" qu'un développeur. Cet emploi de testeur était à mes yeux un tremplin vers un "vrai" poste de développeur... 

Comme tout ce que j'entreprends, je me suis mis à fond dedans. J'ai commencé mon exploration du fascinant monde des tests automatisés à travers SoapUI, JUnit, Cypress, Postman tout en participant à l'occasion au développement du projet à tester, mais surtout en développant une gamme d'outils et de tests visant à faciliter le développement et la phase QA du produit. Ce fut l'occasion de travailler sur des projets en Java, Groovy, Python, JavaScript, Rust et Shell.

En très peu de temps, je me suis rendu compte que j'avais une très mauvaise compréhension du rôle.  Ce n'était pas un sous-rôle de développeur, c'était encore mieux! À dire vrai, le rôle de testeur automatisé demande de maitriser le code du produit, la logique d'affaires, la pensée critique et de la débrouillardise, car bien qu'il soit possible de tester en surface en se limitant à un framework, le contexte peut amener à tester un éventail de technologie et demande de la créativité afin d'arriver à des solutions. De même, les frameworks de tests permettent bien d'automatiser l'exécution, mais pourquoi ne pas automatiser l'automatisation en générant les tests à partir de données? 

Aujourd'hui

Après plus d'un an et demi dans les tests automatisés, je suis reconnaissant d'être tombé dans cet inconnu, car mon rôle me donne véritablement une liberté dans le développement, mais aussi me donne le sentiment de faire quelque chose d'utile et qui apporte de la qualité. En lisant les différents sub-reddit sur l'automatisation des tests, je me rends bien compte que le rôle n'est malheureusement pas aussi bien intégré partout. J'ai la chance de participer activement au développement et de collaborer jour après jour avec une équipe de développeur passionné. De même, mon investissement dans tout le processus s'est accentué puisque je suis également scrum master dans mon équipe depuis un an. Si ce double rôle est exigeant, il est complémentaire et me permet d'avoir une excellente vision de tout notre processus.